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

بررسی اجمالی

فیلترها یک روش برای تغییر بخشی از داده های یک تابع توسط یک تابع دیگر هستند .
فیلترها نیز مانند اکشن ها یک نوع قلاب هستند اما برعکس آنها عمل می کنند .
برای استفاده از فیلترها باید تابع 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[fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][] = '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() می توانند ۲ پارامتر اختیاری اضافه دیگر را دریافت کنند :
پارامتر اول اولویت اجرای تابع فراخوان و پارامتر دوم تعداد آرگومان های تابع فراخوان .

برای توضیحات بیشتر بخش اکشن ها را مطالعه کنید .[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

  • facebook
  • googleplus
  • twitter
  • linkedin
  • linkedin
  • linkedin

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

  • twitter
  • googleplus

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *