🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ علی یزدان پناه
سوال در مورد هوک‌های فعال و غیر فعال سازی
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۳۱ شهریور ۱۴۰۰

سلام استاد 

 

من در قسمت هوک فعال سازی(register_activation_hook) به تابعش یک api ( همونی که شما در جلسه معرفی api باهاش منوی سفارشی درست کردید) اضافه کردم، ولی وقتی پلاگین رو فعال میکنم این منوی سفارشی به قسمت پیشخوان ورد پرس اضافه نمیشه!


function simple_plugin_activation(){
    function simple_plugin_add_menu(){
        add_menu_page( 'منوی سفارشی',
                       'منوی سفارشی',
                       'manage_options',
                       'simple_menu',
                       'simple_menu_callback', );
    }
    function simple_menu_callback(){
    }
    add_action('admin_menu','simple_plugin_add_menu');
}
function simple_plugin_deactivation()
{
}
register_activation_hook(__FILE__, 'simple_plugin_activation');
register_deactivation_hook(__FILE__, 'simple_plugin_deactivation');

 

و یا حتی وقتی بخوام با فعال سازی پلاگین  یه رشته ساده رو با دستور echo نمایش بده این رشته ساده رو هم نمایش نمیده

function simple_plugin_activation(){
   echo 'hi ali';
}
function simple_plugin_deactivation()
{
}
register_activation_hook(__FILE__, 'simple_plugin_activation');
register_deactivation_hook(__FILE__, 'simple_plugin_deactivation');

سلام

در استفاده از هوک‌ها و اکشن‌ها باید دقت کنید که اکشن رو شما دارید کجا صدا می‌زنید

 

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

 

بنابراین اکشن رو از داخل هوک بردارید و خارج از هوک بزارید و همچنین فانکشن‌های که گذاشتید.

در مورد دستور echo هم همین طور هست

 

در واقع هوک activation کاربردش چیز دیگه ای هست به طور مثال ایجاد یک جدول در دیتابیس به محض فعال شدن پلاگین و همین طور وقتی پلاگین deactive میشه به طور مثال عرض می‌کنم همون جدولی که ساخته شده هنگام اکتیو کردن پلاگین میایم و یک کدی می‌نویسیم که اون جدول رو بیاد حذف کنه.

 

امیدوارم توضیح کافی داده باشم

موفق باشید

مجید زادگی ۰۵ مهر ۱۴۰۰، ۰۷:۰۲

سلام

با تشکر از پاسخگویی تون

 

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


بله حرفتون کاملا درسته؛ من هم این کد رو برای زمانی که پلاگین فعال بشه نوشتم که وقتی پلاگین رو فعال

میکنیم یه منوی سفارشی به پنل مدیریت اضافه بشه یا وقتی پلاگین  رو فعال میکنیم یه پیغام نمایش داده بشه

 

و سوالم هم از این مسئله این بود که چرا هوک activation با وجود این عملکرد این کار رو برای من انجام نداد؟

 

 

!مگر اینکه جوابم این باشه که این هوک در این موردی که من استفاده کردم کاربرد نداشته باشه

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

علی یزدان پناه ۰۵ مهر ۱۴۰۰، ۲۲:۰۶