راکت

ثبت شماره تلفن در فرم پیش فرص المنتور

2 پاسخ

سلام
من با فرم ساز المنتور وردپرس میخواهم شماره موبایل کاربرها رو ثبت کنم ولی دوتا مشکل هستش
یکی شماره تلفن میخودم بیشتر از ۱۱ رقم نشه
دوم اینکه اعتبار سنجی بشه آیا شماره درسته یا نه ؟منظور پیامک نیس اینکه مثلا جز شماره های تلفن باشه و شماره الکی نزنن

 سعید
سعید
@Saeed991
ثبت پرسش جدید

پاسخ‌ها

2
ابوالفضل زارعی قره بابا
ابوالفضل زارعی قره بابا
@abolfazlzarei

تخصص: سئو

سلام قبل از اجرای موارد زیر حتما بک آپ تهیه کنید یا روی سایت تستی اعمال کنید اگر جواب داد استفاده کنید.
ابتدا کد زیر را در فایل Function.php قالب تون در انتهای کد های دیگر قرار دهید. از مسیر wp-content/themes وارد پوشه قالب رفته و فایل function را ویرایش کنید.

بعد از قرار دادن این کد، فرمت وارد شده درفیلد شماره تلفن باید به صورت 09xxxxxxxx باشد.

add_action( 'elementor_pro/forms/validation/tel', function( $field, $record, $ajax_handler ) {
    //remove native validation
    /**
     * @var \ElementorPro\Modules\Forms\Module $forms_module
     */
    $forms_module = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'forms' );
    remove_action( 'elementor_pro/forms/validation/tel', [ $forms_module->field_types['tel'], 'validation' ] );

    // run your own validation, ex:
    if ( empty( $field['value'] ) ) {
        return;
    }
    // Match this format 09XXXXXXXX, 0912345678
    if ( preg_match( '/[0-0]{1}[9-9]{1}[0-9]{9}/', $field['value'] ) !== 1 ) {
        $ajax_handler->add_error( $field['id'], 'مطمئن شوید شماره تلفن با فرمت 09xxxxxxxx باشد, eg: 0912345678' );
    }
}, 9, 3 );

add_action( 'elementor_pro/forms/render_field/tel', function( $item, $item_index, $form ) {
    //remove native render
    /**
     * @var \ElementorPro\Modules\Forms\Module $forms_module
     */
    $forms_module = \ElementorPro\Plugin::instance()->modules_manager->get_modules( 'forms' );
    remove_action( 'elementor_pro/forms/render_field/tel', [$forms_module->field_types['tel'] , 'field_render' ], 10, 3 );

    // add your custom render ex:
    $form->add_render_attribute( 'input' . $item_index, 'class', 'elementor-field-textual' );
    $form->add_render_attribute( 'input' . $item_index, 'pattern', '[0-0]{1}[9-9]{1}[0-9]{9}' );
    $form->add_render_attribute( 'input' . $item_index, 'title', __( 'شماره تلفن باید با 09 شروع شود.', 'plugin-name' ) );
    echo '<input size="1" ' . $form->get_render_attribute_string( 'input' . $item_index ) . '>';
}, 9, 3 );
مهدی گرجی
مهدی گرجی
@mgor1361

سلام و وقت بخیر
من برای فرم المنتور پلاگین ارسال پیامک نصب کردم فقط مشکل اینه که وقتی اعداد فارسی تایپ میشه پیام خطا میده و باید کیبورد رو انگلیسی کرد.
آیا راهی داره که کیبورد تو هر فیلد اتوماتیک تغییر زبان بده یا اعداد فارسی با انگلیسی جایگزین بشه موقع تایپ؟
ممنونم

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام