رفتن به مطلب

یکی کردن meta_value دو meta_key در php مای ادمین


پست های پیشنهاد شده

سلام

من از دوتا افزونه وردپرس استفاده میکنم که از کاربر عضو سایت به صورت جدا شماره تلفن دریافت میکنن

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

تو افزونه دوم یبار دیگه شمارشو بزنه

هر دو meta-key در جدول usermeta هستن

در فایل ضمیه شده meta-key ها مشخصن

 

meta.thumb.png.bd57dcb8ba024cec272add491352d670.png

لینک به ارسال

سلام

مشخصا باید در کدهای افزونه ها تغییر ایجاد کنین و اسم متاها رو یکی کنین. که البته کار غیراصولی هست و ممکنه در عملکرد افزونه مشکلی ایجاد کنه.

 

  • پسندیدن 2
لینک به ارسال

@saeeedhassani

 

کد زیر باعث میشه که اگر متای mobile درخواست شد توسط افزونه ای به جاش مقدار wpyarud_phone برگردونده بشه.

داخل فایل functions.php قالبتون قرار بدید.

add_filter('get_user_metadata', function($value, $object_id, $meta_key, $single, $meta_type) {
	
	if($meta_key != 'mobile') return $value;
	
	return call_user_func("get_{$meta_type}_meta", $object_id, 'wpyarud_phone', $single);
	
}, 10, 5);

 

  • پسندیدن 2
  • تشکر 1
لینک به ارسال

خیلی ممنون بابت راهنمایی :)

 

اگه بخوام یه meta-key دیگه (bull-mobile) رو هم با wpyarud_phone یکی کنم

میشه کد زیر رو و کدی که دادید رو در functions.php قالب قرار بدم ؟

 

add_filter('get_user_metadata', function($value, $object_id, $meta_key, $single, $meta_type) {
	
	if($meta_key != 'mobile') return $value;
	
	return call_user_func("get_{$meta_type}_meta", $object_id, 'wpyarud_phone', $single);
	
}, 10, 5);

add_filter('get_user_metadata', function($value, $object_id, $meta_key, $single, $meta_type) {
	
	if($meta_key != 'bull-mobile') return $value;
	
	return call_user_func("get_{$meta_type}_meta", $object_id, 'wpyarud_phone', $single);
	
}, 10, 5);

ینی هر دوی این کد هارو بزارم تو فایل functions.php قالب جواب میده ؟

لینک به ارسال

کدی که دادید رو هر کجای فایل functions.php قالب میزارم ارور میده

با افزونه توابع سفارشی هم گذاشتم بازم خطا داد سایت

لینک به ارسال
در 3 ساعت قبل، saeeedhassani گفته است :

کدی که دادید رو هر کجای فایل functions.php قالب میزارم ارور میده

با افزونه توابع سفارشی هم گذاشتم بازم خطا داد سایت

کد یه اروری داشت برطرف شد.

add_filter('get_user_metadata', function($value, $object_id, $meta_key, $single) {
	
	if(!in_array($meta_key, ['mobile', 'bull-mobile'])) return $value;
	
	return get_user_meta($object_id, 'wpyarud_phone', $single);
	
}, 10, 4);

هر دو تا meta_key مدنظر شما رو ساپورت میکنه.

  • پسندیدن 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...