فیلترها (Filters)

فیلترها (Filters)

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

بررسی اجمالی

فیلترها یک روش برای تغییر بخشی از داده های یک تابع توسط یک تابع دیگر هستند .
فیلترها نیز مانند اکشن ها یک نوع قلاب هستند اما برعکس آنها عمل می کنند .
برای استفاده از فیلترها باید تابع add_filter()  را فراخوانی کنید .

این تابع به ۲ پارامتر نیاز دارد :

 

۱- نام فیلتری که می خواهید یک قلاب (یک تابع) به آن متصل کنید

۲- نام تابع فراخوان (callback) که می خواهید هنگام اجرای فیلتر ، اجرا شود .
در مثال زیر فیلتر the_title() یک تابع سفارشی به نام modify_the_title() را اجرا می کند :

add_filter( 'the_title', 'modify_the_title' );

مقدار برگشتی از تابع فراخوان ، جایگزین مقدار ارسال شده به آن ، خواهد شد .

به عنوان مثال ، یک نوشته با عنوان “Portland is the Greatest City on Earth” پس از ارسال به تابع modify_the_title() ، با یک عنوان تغییر یافته نمایش داده خواهد شد .
برای مثال های بیشتر در زمینه فیلتر ها به این لینک در مخزن وردپرس مراجعه کنید .

 

چند نمونه از فیلترها جهت تمرین

برای اضافه کردن کلاس CSS به تگدر هنگام مشاهده یک شرط خاص به صورت زیر عمل کنید :

function add_classes_to_body_tag( $classes ) {
    if ( $some_condition ) {
        $classes
[] = 'the-extra-class'; } return $classes; } add_filter( 'body_class', 'add_classes_to_body_tag' );

 

برای افزودن برخی محتوا به آخر هر نوشته یا صفحه از کد زیر استفاده کنید :

function add_post_signature( $content ) {
    $content .= '<p>This text appears at the bottom of each post</p>';
 
    return $content;
}
add_filter( 'the_content', 'add_post_signature' );

 

پارامترهای اضافه

 

هر دو تابع add_action() و add_filter() می توانند ۲ پارامتر اختیاری اضافه دیگر را دریافت کنند :
پارامتر اول اولویت اجرای تابع فراخوان و پارامتر دوم تعداد آرگومان های تابع فراخوان .

برای توضیحات بیشتر بخش اکشن ها را مطالعه کنید .

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

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

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

نظر شما چیست