سعید
1 سال پیش توسط سعید مطرح شد
2 پاسخ

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

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


ثبت پرسش جدید
ابوالفضل زارعی
تخصص : سئو
@abolfazlzarei 1 سال پیش آپدیت شد
0

سلام قبل از اجرای موارد زیر حتما بک آپ تهیه کنید یا روی سایت تستی اعمال کنید اگر جواب داد استفاده کنید.
ابتدا کد زیر را در فایل 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 2 هفته پیش مطرح شد
0

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


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

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