Hooks ابزاری است که در پلاگین وردپرس، یک تکه کد می تواند با کدهای دیگر وردپرس ارتباط برقرار کرده و آنها را تغییر دهد. در واقع به وسیله Hooks است که پلاگین و قالب وردپرس می تواند با هسته وردپرس ارتباط برقرار کند.
دو نوع Hooks وجود دارد: Filters و Actions. برای استفاده از آنها باید یک فانکشن Callback بنوسید و سپس آن را به وسیله Hook خاصی به Filter و یا Action خاصی مرتبط کنید.
Actions در پلاگین وردپرس
Actions به شما اجازه می دهد تا اطلاعات خاصی را به فرآیند اضافه کرده و یا عملکرد وردپرس را تغییر داده و مدیریت کنید. فانکشن های Callback مربوط به Actions در هنگام اجرای وردپرس در زمان خاصی اجرا می شوند که می تواند وظایف خاصی را مانند، نشان دادن اطلاعات خاصی به کاربر، درج اطلاعات به پایگاه داده را انجام دهند.
Filters در پلاگین وردپرس
Filters به شما امکان تغییر داده در هنگام اجرای وردپرس را می دهد. فانکشن Callback مربوط به Filters متغیر را دریافت کرده، تغییر داده و بر می گرداند. این بدان معنی است که آنها به صورت جداگانه کار می کنند و هرگز نباید عوارض جانبی مانند تأثیر گذاری بر متغیر سراسری و خروجی را داشته باشد.
خوب تا این قسمت از منبع وردپرس ترجمه کردم. اگر برای شروع کار مشکل دارید پیشنهاد می کنم به این صفحه مراجعه کنید. برای روشنتر شدن مسئله یک پلاگین ساده را با هم بررسی می کنیم. جزئیات را در پست قبلی توضیح داده ام، پس مستقیم به کد نویسی بخش پلاگین می پردازیم. در این مثال سعی می کنیم علاوه بر سادگی مسئله یک پلاگین کاربردی بنویسیم. فرض کنید می خواهیم یک بنر تبلیغاتی را در انتهای تمامی پست های وردرپس قرار دهید. با این پلاگین می توانید به راحتی بنر تبلیغاتی را فعال و یا غیر فعال کنید. تمام کدهای ما به شکل ذیل می باشد.
<?php /** * Plugin Name: بنر تبلیغاتی * Plugin URI: http://www.ahady.ir * Description: افزودن بنر تبلیغاتی به تمامی پست ها. * Version: 1.0 * Author: بهرام آحادی * Author URI: http://www.ahady.ir */ add_action( 'the_content', 'add_banner' ); function add_banner ( $content ) { if(!is_home()){ return $content .= '<p><img src="/banner-AD.jpg"></p>'; }else{ return $content; } }
خوب ما با دستور add_action یک فانکشن callback را به هوک the_content اضافه می کنیم تا کارهایی را برایمان انجام دهد. شما در واقع اصل کار را در داخل فانکشن add_banner انجام می دهید. در داخل این فاکشن ما به محتوای متغیر content مقادیری را اضافه میکنیم که همان کدهای مربوط به نمایش عکس تبلیغاتی ما است. کدها کاملا مشخص هستند فقط به بخش دستور شرطی دقت کنید. اگر is_home (صفحه اول سایت) را بررسی نکنید عکس در صفحه نخست و در زیر تمامی پست ها نمایش داده خواهد شد که این مناسب نیست. با دستور شرطی کدهای مربوط به عکس تبلیغاتی فقط به محتوای صفحه مربوط به پست اضافه می شود.
جهت سفارش پلاگین وردپرس به این صفحه مراجعه کنید.