سلام
من با فرم ساز المنتور وردپرس میخواهم شماره موبایل کاربرها رو ثبت کنم ولی دوتا مشکل هستش
یکی شماره تلفن میخودم بیشتر از ۱۱ رقم نشه
دوم اینکه اعتبار سنجی بشه آیا شماره درسته یا نه ؟منظور پیامک نیس اینکه مثلا جز شماره های تلفن باشه و شماره الکی نزنن
سلام قبل از اجرای موارد زیر حتما بک آپ تهیه کنید یا روی سایت تستی اعمال کنید اگر جواب داد استفاده کنید.
ابتدا کد زیر را در فایل 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 );
سلام و وقت بخیر
من برای فرم المنتور پلاگین ارسال پیامک نصب کردم فقط مشکل اینه که وقتی اعداد فارسی تایپ میشه پیام خطا میده و باید کیبورد رو انگلیسی کرد.
آیا راهی داره که کیبورد تو هر فیلد اتوماتیک تغییر زبان بده یا اعداد فارسی با انگلیسی جایگزین بشه موقع تایپ؟
ممنونم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟