۳ دانشجوی سون‌لرن
نحوه خروجی گرفتن
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۳ فروردین ۱۴۰۱

سلام

ضمن عرض تبریک سال نو

سوالی از خدمتتون داشتم

فرض کنید ما یک افزونه ای نوشتیم که زمان لاگین کاربر، از طریق ربات تلگرام اطلاع رسانی انجام میده:

function when_user_logged_in($user_login,$user)
{
    $user_full_name = $user->first_name." ".$user->last_name;
    $message = "https://api.telegram.org/bot5182554672:AAGtOn_4nijhBoPtfbhfCPp8FGJIxvsWUOU/sendMessage?chat_id=1061697537&text=" . $user_full_name;
    file_get_contents($message);
}
add_action('wp_login', 'when_user_logged_in',10,2);

زمانی که file_get_contents رو در خارج از تابع فراخوانی میکنیم عمل میکنه. اما در داخل این تابع و زمانی که لاگینی انجام میشه عمل نمیکنه.

در اینطور مواقع زمانی که یکی از آرگومان‌ها به صورت object هست، چطور میتونیم در این حالت خروجی بگیریم و مقادیرش رو بررسی کنیم و علت کار نکرده افزونه رو پیدا کنیم؟

سلام.

تابع file_get_contesnts خروجی استرینگ داره شما داخل یک متغیر بریز و ازش var_dump بگیر ببین مقدارش چی هست.


محسن موحد ۰۳ فروردین ۱۴۰۱، ۱۸:۴۰

مشکل اینجاست که مقدار first_name و last_name رونمیتونیم بگیریم و مقدار خالی بر میگردونه.

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

راه حلی دارید؟

میلاد صادقیان ۰۳ فروردین ۱۴۰۱، ۱۹:۰۶

یا ابتدا باید متغیر user$ بصورت گلوبال در اسکوپ تابع خودتون فراخوانی کنید که پیشنهاد نمیشه یا توسط متد wp_get_current_user دیتای کاربر لاگین شده رو بگیرید این متد یه آبجکت از اطلاعات کاربر بر می‌گردونه از جمله مواردی که شما می‌خواید

بهترین پاسخ
وحید صالحی ۰۴ فروردین ۱۴۰۱، ۱۷:۵۲