قلاب های فعال و غیر فعال سازی

///قلاب های فعال و غیر فعال سازی

قلاب های فعال و غیر فعال سازی

سایر بخش های سری آموزشی " ایجاد افزونه وردپرس "

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

افزونه ها می توانند در هنگام فعال سازی ، یک روال دلخواه را اجرا کنند .

به عنوان مثال می توانند قوانین (Rules)  را تغییر دهند ، جداول سفارشی به بانک اطلاعات وردپرس اضافه کنند ، یا مقادیر تنظیمات خود را مقداردهی اولیه کنند .

“قلاب غیرفعال سازی” بعضی اوقات با “قلاب حذف” اشتباه گرفته می شود .

“قلاب غیر فعال سازی” بهترین قلاب جهت حذف داده ها و پوشه های موقت است .

 

برای استفاده از قلاب فعال سازی از تابع register_activation_hook() استفاده می شود :

register_activation_hook( __FILE__, 'pluginprefix_function_to_run' );

 

برای استفاده از قلاب غیر فعال سازی از تابع register_deactivation_hook() استفاده می شود :

register_deactivation_hook( __FILE__, 'pluginprefix_function_to_run' );

 

پارامتر اول هر دو تابع بالا به فایل افزونه شما رجوع می کند .(فایلی که اطلاعات هدر در آن قرار دارد)

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

یکی از معمول ترین کاربردهای قلاب فعال سازی ، تازه سازی (refresh) پیوندهای یکتای وردپرس در هنگام ثبت یک پست سفارشی توسط یک افزونه است .با این کار از خطای ۴.۴ که در اثر پیدا نشدن لینک ها رخ می دهد ، جلوگیری می شود .

 

اجازه دهید چگونگی کار را با مثال زیر بررسی کنیم:

function pluginprefix_setup_post_type() {
 
    // Register our "book" custom post type
    register_post_type( 'book', array( 'public' => 'true' ) );
 
}
add_action( 'init', 'pluginprefix_setup_post_type' );
 
function pluginprefix_install() {
 
    // Trigger our function that registers the custom post type
    pluginprefix_setup_post_types();
 
    // Clear the permalinks after the post type has been registered
    flush_rewrite_rules();
 
}
register_activation_hook( __FILE__, 'pluginprefix_install' );

 

چنانچه شما با ثبت “پست های سفارشی” آشنایی ندارید ، نگران نباشید ، زیرا در مطالب بعدی به آن خواهیم پرداخت .

با توجه به مثال بالا ، کد زیر چگونگی روال غیرفعال سازی را نشان می دهد :

function pluginprefix_deactivation() {
 
    // Our post type will be automatically removed, so no need to unregister it
 
    // Clear the permalinks to remove our post type's rules
    flush_rewrite_rules();
 
}
register_deactivation_hook( __FILE__, 'pluginprefix_deactivation' );

 

برای کسب اطلاعات بیشتر در زمینه این مطلب به منابع بسیار عالی زیر مراجعه کنید :

register_activation_hook()

register_deactivation_hook()

۱۳۹۶/۴/۱۰ ۱۴:۳۰:۲۶

درباره نویسنده:

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

نظر شما چیست