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