سلام دوستان با توجه به اینکه تابع wp_insert_user در ویرایش جدید داکیومنت وردپرس فیلترهایی که استفاده میشد رو درون تابع برده. به نظرم دیگه نیازی به تعریف فیلتر نیست و کاملا به خوبی اجرا میشود. یعنی به جای فرمت ۱ میتوان از فرمت ۲ استفاده کرد:
(البته اگه خودمون نخوایم فیلتری به غیر از فیلتر هایی که وجود داره استفاده کنیم. در غیر اینصورت باید از فرمت 1 استفاده کنیم و نام فیلتر مورد نظری که خودمون ساختیم رو فراخوانی کنیم)
فرمت ۱:
$userEmailParts=explode('@',$user_email);
$newUser = wp_insert_user( [
'user_login' => apply_filters( 'pre_user_login', $userEmailParts[0].rand(1000,9999) ),
'user_pass' => apply_filters( 'pre_user_pass', $user_password ),
'first_name' => apply_filters( 'pre_user_first_name', $user_first_name ),
'last_name' => apply_filters( 'pre_user_last_name', $user_last_name ),
'display_name' => apply_filters( 'pre_user_display_name', "{$user_first_name} {$user_last_name}" )
] );
فرمت ۲:
$userEmailParts=explode('@',$user_email);
$newUser = wp_insert_user( [
'user_login' => $userEmailParts[0].rand(1000,9999),
'user_pass' => $user_password ,
'first_name' => $user_first_name ,
'last_name' => $user_last_name,
'display_name' => "{$user_first_name} {$user_last_name}"
] );
امیدوارم براتون مفید بوده باشه
منبع صحبتم:
https://developer.wordpress.org/reference/functions/wp_insert_user/
ممنون میشم از استاد علی محمدی یا آقای زادگی که اگه چیزی که گفتم درست هست یه تایید بدن.
سلام، من نسخه جدید ابن تابع رو بررسی نکردم اما اگر فیلتر ها داخل خود تابع باشن اکیه.
سلام استاد. ممنون از پاسخ . بله فیلتر ها داخل تابع بودن. من همین کد رو جایگزین کد های شما کردم به درستی و بدون مشکل اجرا میکرد.