در این شماره میخواهیم شما را با نحوه ایجاد یک پلاگین برای وردپرس آشنا کنیم.
ابتدا باید یک اسم مشخص برای Plugin خود انتخاب کنید. در مرحله بعدی شما باید فایلهای مربوط به پلاگین خود را ایجاد کنید. نکته بعدی این است که شما میتوانید فایلهایی که برای پلاگین مورد نظر خود نیاز دارید در فایلها و پوشههای مختلف قرار دهید. برای دسترسی به آدرس آن فایلها میتوانید از توابع plugin_dir_path یا plugins_url
استفاده کنید. برای آشنایی بیشتر با این توابع میتوانید به لینک زیر مراجعه کنید:
http://codex.wordpress.org/Determining_Plugin_and_Content_Directories
شما در فایل اصلی باید اطلاعاتی در مورد پلاگین خود بنویسید، به نمونه زیر دقت کنید:
«?php /*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
*/ ?»
در بخش Plugin URL آدرسی را که پلاگین شما قرار دارد، وارد کنید.
این آدرس میتواند لینکی از سایت
http://wordpress.org/extend/plugins باشد. در بخش Description میتوانید توضیحات اضافی در مورد پلاگین خود بنویسید. در قسمت Version شماره آخرین نسخه از پلاگین خود را در آن قرار دهید. Author جایی است که باید نام سازنده پلاگین را بنویسید. در بخش Author URI نیز آدرسی از وبلاگ یا سایت شخصی سازنده پلاگین را وارد کنید. در قسمت بعدی شما با دو تابع که جزیی از اصلیترین بخشهای وردپرس است آشنا میشوید. یکی از آنها add_action و دیگری add_filter است. این دو تابع تقریبا یک کار شبیه هم انجام میدهند. در add_action شما یک تابع را که خودتان نوشتهاید به آن بدهید، سپس یکی از توابع وردپرس را که اصطلاحا به آن Hooker میگویند، بدهید. وردپرس هر زمان که آن تابع از وردپرس فراخوانی شود، تابع شما را فراخوانی میکند. با یک مثال این موضوع را توضیح میدهیم؛ کلاس زیر را در نظر بگیرید:
class emailer {
function send($post_ID) {
$friends = ‘bob@example.org,susie@example.org’;
mail($friends,”sally’s blog updated”,’I just put something on my blog: http://blog.example.com’);
return $post_ID; } }
این کلاس یک تابع به نام send دارد و شما میخواهید زمانی که یک پست جدید در وبلاگ ایجاد شد به یکسری از کاربران ایمیل ارسال شود که شما باید برای publish_post که از توابع اصلی وردپرس است، یک action به صورت زیر تعریف کنید:
add_action('publish_post', array('emailer', 'send'));
مقدار اول تابع add_action نام یک Hooker است و مقدار بعدی تابعی را که قرار است اجرا شود مشخص میکند.
اما add_filter، این تابع مانند add_action عمل میکند با این تفاوت که زمان اجرای آنها متفاوت است. add_filter همانطور از اسمش پیداست، یک فیلتر ایجاد میکند و برای فیلتر کردن دادههای یک Hooker استفاده میشود و مقادیر ورودی آن نیز مانند add_action است. شما میتوانید action ها و filterهایی را که تعریف کردهاید توسط remove_action و remove_filter حذف کنید. برای آشنایی بیشتر با action ها و فیلترها میتوانید به آدرس زیر مراجعه کنید.
امیربهاءالدین سبطالشیخ
منابع :
http://codex.wordpress.org/Writing_a_Plugin
Smashing Magazine : Smashing wordpress
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم