Skip to content

wp_sms_mobile_number_validity

تخصيص منطق التحقق من رقم الهاتف المحمول بقواعد مخصصة.

يتيح لك فلتر wp_sms_mobile_number_validity تعديل أو توسيع منطق التحقق الافتراضي من رقم الهاتف المحمول بقواعد مخصصة.

الصيغة

add_filter('wp_sms_mobile_number_validity', 'your_callback', 10, 2);

المعاملات

المعاملالنوعالوصف
$isValidmixedنتيجة التحقق من الفحص الافتراضي
$mobileNumberstringرقم الهاتف الذي يتم التحقق منه

القيمة المُرجعة

  • أرجع true إذا كان الرقم صالحاً
  • أرجع كائن WP_Error مع رسالة خطأ مخصصة إذا كان غير صالح

أمثلة

تحقق مخصص أساسي

add_filter('wp_sms_mobile_number_validity', function($isValid, $mobileNumber) {
    // Add custom validation logic
    if (strlen($mobileNumber) < 10) {
        return new WP_Error('invalid_length', __('Phone number must be at least 10 digits.', 'wp-sms'));
    }

    return $isValid;
}, 10, 2);

تقييد برمز دولة محدد

add_filter('wp_sms_mobile_number_validity', function($isValid, $mobileNumber) {
    // Only allow US numbers
    if (!preg_match('/^\+1/', $mobileNumber)) {
        return new WP_Error('invalid_country', __('Only US phone numbers are allowed.', 'wp-sms'));
    }

    return $isValid;
}, 10, 2);

حظر أنماط أرقام محددة

add_filter('wp_sms_mobile_number_validity', function($isValid, $mobileNumber) {
    // Block premium rate numbers
    $blocked_prefixes = ['+1900', '+1976'];

    foreach ($blocked_prefixes as $prefix) {
        if (strpos($mobileNumber, $prefix) === 0) {
            return new WP_Error('blocked_number', __('This number type is not allowed.', 'wp-sms'));
        }
    }

    return $isValid;
}, 10, 2);

التحقق عبر خدمة خارجية

add_filter('wp_sms_mobile_number_validity', function($isValid, $mobileNumber) {
    // Check against external validation API
    $response = wp_remote_get("https://api.example.com/validate?number={$mobileNumber}");

    if (is_wp_error($response)) {
        return $isValid; // Fallback to default validation
    }

    $data = json_decode(wp_remote_retrieve_body($response), true);

    if (!$data['valid']) {
        return new WP_Error('external_invalid', __('This phone number could not be verified.', 'wp-sms'));
    }

    return $isValid;
}, 10, 2);

حالات الاستخدام

  • تقييد برموز دول محددة
  • فرض متطلبات الحد الأدنى/الأقصى للطول
  • حظر الأرقام ذات التعرفة المرتفعة أو أرقام البريد العشوائي المعروفة
  • التكامل مع خدمات التحقق الخارجية
  • تطبيق قواعد تحقق خاصة بالأعمال

ذات صلة

آخر تحديث: ٢٣ ديسمبر ٢٠٢٤