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) {
    // افزودن منطق اعتبارسنجی سفارشی
    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) {
    // فقط شماره‌های آمریکا مجاز هستند
    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) {
    // مسدود کردن شماره‌های با نرخ ویژه
    $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) {
    // بررسی با API اعتبارسنجی خارجی
    $response = wp_remote_get("https://api.example.com/validate?number={$mobileNumber}");

    if (is_wp_error($response)) {
        return $isValid; // بازگشت به اعتبارسنجی پیش‌فرض
    }

    $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);

موارد استفاده

  • محدود کردن به کدهای کشور خاص
  • اعمال الزامات حداقل/حداکثر طول
  • مسدود کردن شماره‌های با نرخ ویژه یا اسپم شناخته‌شده
  • یکپارچه‌سازی با سرویس‌های اعتبارسنجی خارجی
  • اعمال قوانین اعتبارسنجی مختص کسب‌وکار

مرتبط

آخرین به‌روزرسانی: ۳ دی ۱۴۰۳