مشکل اعتبار سنجی نام فارسی در پلاگین ultimate member وردپرس

سلام
وقتتون بخیر

بنده کد زیر رو برای اعتبارسنجی فارسی بودن فیلد نام و نام خانوادگی و برای افزونه ultimate member در وردپرس داخل فایل functions.php قرار می دهم اما با فارسی نوشتن هم شرط برقرار نمیشه و خطا همیشه نمایش داده میشه، مشکل از کجاست؟
ممنون میشم اگر راهنمایی بفرمایید.

   
 //Costum_Validation
add_action('um_custom_field_validation_persian','um_custom_field_validation_persian', 10, 3);
function um_custom_field_validation_persian ($guids_child ) {
	global $ultimatemember;
	
if ( !preg_match ( '/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u' , $guids_child ))
{
    		$ultimatemember->form->add_error ($guids_child , __('نام معتبر نیست، لطفا فارسی بنویسید') );
}

}
 

5 پاسخ برای "مشکل اعتبار سنجی نام فارسی در پلاگین ultimate member وردپرس"

  1. حامد امیدی گفت:

    سلام وقت بخیر. ببخشید منم یه مشکلی در افزونه آلتیمیت ممبر دارمو.در بخش پروفایل کاربر در افزونه آلتیمات ممبر وقتی که به پایین صفحه اسکرول میکنیم نوشته شده که: “نمایه شما کمی خالی به نظر می رسد. چرا مقداری اطلاعات اضافه نمی کنید.”

    وقتی روی کلمه “اضافه” در همین جمله کلیک میکنیم به صفحه خطای 404 وارد میشه. در آدرس بار مرورگر آدرس لینک اشتباهه و به این شکله:

    http://yoursite.com/“http:/yoursite.com/user/1234/?profiletab=main&um_action=edit”

    لطفا راهنمایی کنید چطور میشه لینک کلمه “اضافه” رو در این جمله اصلاح کرد و برای هر کاربری بصورت اختصاصی کار کنه. باتشکر.

  2. سلام،

    به احتمال زیاد مشکل از نوع استفاده شما از هوک های UM است، این لینک رو ببینید:

    https://docs.ultimatemember.com/article/94-apply-custom-validation-to-a-field

    لطفا سوالات عمومی رو در بخش پرسش و پاسخ ها مطرح کنید.

    1. VAhiD گفت:

      سلام
      بسیار ممنون از پاسخ تون

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

         
       //Costum_Validation
      add_action('um_submit_form_errors_hook_','um_custom_field_validation_persian', 999, 3);
      function um_custom_field_validation_persian ( $guids_child ) {
      	global $ultimatemember;
      	
      if ( !preg_match ( '/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u' , $guids_child )   ){
          		$ultimatemember->form->add_error ('first_name' , __('نام معتبر نیست، لطفا فارسی بنویسید') );
      }
      }
       
      1.    
         add_action('um_submit_form_errors_hook_','um_custom_validate_username', 999, 1);
        
        function um_custom_validate_username( $args ) {
        	global $ultimatemember;
        	
        	if ( ! preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $args['first_name'])) {
        		$ultimatemember->form->add_error( 'first_name', 'Your first name must be in Persian' );
        	}
        }
         

        اینو امتحان کنید. فقط مطمئن بشید که $args مولفه ای به اسم first_name داشته باشه.

        یک حساب کاربری در دسخط بسازید تا من این کامنت ها رو منتقل کنم به بخش پرسش و پاسخ

      2. vahiddesigner گفت:

        بسیار بسیار ممنونم، مشکلم حل شد.
        خیلی لطف کردید. واقعا سپاسگزارم.

کد HTMLCSSJavaScriptPHP