قالب فارسی
توسعه وردپرسهوک‌ها

register deactivation hook

انجام کارهای مورد نیاز در زمان غیرفعال کردن یک افزونه

register_deactivation_hook ( string $file, callable $function )

 

توضیحات

زمانی که یک پلاگین در ورپرس غیرفعال می‌شود، یک هوک به نام ‘deactivate_PLUGINNAME’ در اکشن فراخوانی می‌شود.

در فراخوانی این هوک باید نام پلاگین به جای کلمه PLUGINNAME جایگزین شود، همچنین می توانید آدرس دایرکتوری که پلاگین در آن قرار دارد را به صورت اختیاری در کنار نام پلاگین قرار دهید. به عنوان مثال اگر پلاگینی داریم که در مسیر زیر قرار دارد

wp-content/plugins/sampleplugin/sample.php

مدل نوشتن هوک غیرفعال کردن افزونه به شکل زیر می‌تواند باشد.

deactivate_sampleplugin/sample.php

اگر پلاگین فقط یک فایل داشته باشد به صورت پیش فرض مسیر نصب پلاگین wp-content/plugins/sample.php در نظر گرفته می‌شود؛ در این صورت برای فراخوانی هوک غیرفعال سازی کافی است deactivate_sample.php فراخوانی شود.

پارامترها:

file: این پارامتر برای دریافت نام پلاگین و مسیر پلاگین می‌باشد، این پارامتر متنی و الزامی است.

function: این پارامتر برای دریافت نام تابعی است که در آن فعالیتهای که می‌خواهید در زمان غیرفعال کردن افزونه انجام شود را باید بنویسید.

سورس تابع:

File: wp-includes/plugin.php

function register_deactivation_hook( $file, $function ) {
    $file = plugin_basename( $file );
    add_action( 'deactivate_' . $file, $function );
}

مثال:

اگر شما یک تابع به اسم myplugin_deactive() داشته باشید و پلاگین شما در مسیر wp-content/plugins/myplugin.php

یا wp-content/plugins/myplugin/myplugin.php قرار داشته باشد کد برای غیرفعال کردن افزونه به شکل زیر می‌باشد.

register_deactivation_hook( __FILE__, 'myplugin_deactivate' );

این هوک تابع myplugin_deactivate() در زمان غیرفعال کردن پلاگین فراخوانی و دستورات آن انجام می‌شود.

یکی از کارهای که شما می‌توانید در زمان غیرفعال کردن پلاگین انجام دهید، پاکسازی دیتابیس می‌باشد که کمک شایانی به بهینه کردن دیتابیس می‌کند.

همچنین بخوانید :  add_theme_support()
برچسب ها
نمایش بیشتر

نوشته های مشابه

همچنین ببینید

بستن
دکمه بازگشت به بالا
بستن
بستن

Notice: ob_end_flush(): failed to send buffer of zlib output compression (0) in /home/wphashta/public_html/wp-includes/functions.php on line 4755