نحوه استفاده از وردپرس add_filter + مثال های مفید


فیلتر وردپرس قلابی است که داده های داخلی را قبل از نمایش در مرورگر دستکاری می کند. برای ایجاد یک فیلتر، آن را اضافه کنید افزودن_فیلتر عملکرد در وب سایت شما functions.php فایل.

در توسعه وردپرس، کاربران از این فیلتر برای اصلاح یک افزونه، یک موضوع یا عملکرد خاص وب سایت استفاده می کنند. به عنوان مثال، می توانید طول گزیده پست های وب سایت خود را تغییر دهید یا یک یادداشت پاورقی به مقالات اضافه کنید.

در این آموزش وردپرس نحوه استفاده از وردپرس را توضیح خواهیم داد افزودن_فیلتر عملکرد ایجاد یک قلاب فیلتر. ما همچنین پارامترهای تابع را بررسی خواهیم کرد و نمونه‌های مورد استفاده رایج آن را ارائه خواهیم کرد.

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

به عنوان مثال، یک پاورقی به همه پست های وب سایت اضافه کنید یا طول گزیده آنها را تغییر دهید. چهار عملکرد رایج قلاب فیلتر وجود دارد – افزودن_فیلتر، remove_filter، دارای_فیلتر، و doing_filter.

فیلترهای وردپرس چگونه کار می کنند

به طور خلاصه، فیلترها داده هایی را که وردپرس ارسال می کند، رهگیری می کند. آنها آن را بر اساس عملکرد داده شده تغییر می دهند و به مرورگرهای وب کاربران نمایش می دهند. برای کمک به درک، به این قطعه نگاه کنید:

// Specify the filter and the callback function
   add_filter( 'example_filter', 'example_callback' );
   // Define the callback function
   function example_callback( $example ) {
      // alter $example by concatenating on it
      $example . ‘ add a text at the end ’;
      return $example;
   }

در اینجا توضیح مثال آمده است:

  1. با استفاده از افزودن_فیلتر عملکردی که داده ها را تغییر می دهد. در مورد ما، نام فیلتر است example_filter.
  2. تابع callback را تعریف کنید که وقتی وردپرس فیلتر را پیدا کرد اجرا می شود، یعنی مثال_پاسخ به تماس.
  3. مشخص کنید که چگونه تابع callback داده ها را تغییر می دهد $ مثال آرگومان نشان می دهد. در قطعه از نقطه پایان برای الحاق آن به یک جمله در پایان استفاده می کنیم.
  4. نمایش داده های اصلاح شده به مرورگر وب کاربر با استفاده از برگشت روش.

برای اعمال یک قلاب فیلتر در وب سایت وردپرس خود، کد را در قالب فعلی خود بنویسید functions.php فایل. اگر از سرویس میزبانی وردپرس هاستینگر استفاده می کنید، باز کنید مدیر فایل و حرکت کنید به public_html/wp-content/themes/yourthemefolder.

علاوه بر این، توصیه می‌کنیم کد را به فایل تم فرزندتان اضافه کنید تا از ناپدید شدن آن پس از به‌روزرسانی جلوگیری کنید. همچنین، یک فایل جداگانه برای قلاب های فیلتر در پوشه ریشه تم ایجاد کنید و کد زیر را در آن بنویسید. functions.php برای نامیدن آن:

include _once( get_template_directory(), ‘/yourfilename.php’:’

اگر نمی توانید به پوشه ریشه تم دسترسی پیدا کنید، افزونه ای را نصب کنید تا کد سفارشی را مستقیماً از داشبورد مدیریت وردپرس خود اضافه کنید. یک افزونه محبوب برای این کار، Code Snippets است.

مهم! اصلاح functions.php فایل ممکن است منجر به یک خطا یا یک وب سایت غیرقابل دسترسی شود. برای جلوگیری از این امر، قبل از ادامه یک نسخه پشتیبان تهیه کنید.

پارامترهای add_filter وردپرس

وردپرس افزودن_فیلتر تابع چهار پارامتر دارد. در اینجا هر یک از آنها آمده است:

  • نام هوک. نام فیلتر می خواهید توابع پاسخ به تماس را به آن متصل کنید.
  • عملکرد برگشت به تماس. عملکرد برگشت به تماس هنگام اعمال فیلتر اجرا می شود.
  • اولویت. یک پارامتر اختیاری که ترتیب اجرای توابع مرتبط با یک فیلتر را مشخص می کند. مقدار پیش فرض است 10، و هر چه عدد کمتر باشد، زودتر اجرا می شود.
  • استدلال های پذیرفته شده. تعداد آرگومان های ارسال شده به توابع قلاب شده. این پارامتر اختیاری است و دارای مقدار پیش فرض است 1.

نحو تابع و پارامترها به شرح زیر است:

add_filter( hook_name, callback_function, priority=1, 
   accepted_arguments=1);

نمونه هایی از add_filter در وردپرس

قلاب های فیلتر وردپرس به کاربران این امکان را می دهد که عملکردهای جدید مختلفی را به وب سایت خود تغییر دهند یا اضافه کنند. برای مرجع شما، این بخش چند نمونه کد را بررسی می کند.

تغییر طول گزیده پست

یک مثال ساده از فیلتر وردپرس، تغییر طول گزیده پست‌های پیش‌فرض است. این قطعه کد است:

 add_filter( ‘excerpt_length’, ‘change_length’ );
   function change_length( $length )
   {
      // change the default excerpt length
      return 20;
   }

در قطعه، تابعی ایجاد کردیم که طول گزیده پست را تغییر می‌دهد طول $ آرگومان نشان می دهد. سپس، تابع را به قلاب کردیم گزیده_طول فیلتر کنید.

هنگامی که داده ها از فیلتر عبور می کنند، تابع اجرا می شود و آن را مطابق با آن تغییر می دهد. سپس برگشت این روش طول گزیده را به محدود می کند 20 و آن را به کاربر ارسال کنید.

اصلاح محتوای پست ها

استفاده رایج از افزودن_فیلتر تابع اضافه کردن محتوای جدید به پست های وب سایت شما است. به عنوان مثال، در اینجا یک نمونه قطعه کد وجود دارد که یک سلب مسئولیت را در پایین هر پست وب سایت قرار می دهد:

 add_filter( ‘the_content’, ‘add_disclaimer’ );
   function add_disclaimer( $content )
   {
      // concatenate the content to modify it
      return $content . 
      “<br><center><strong>All writings and opinions are my own“;
   }

مثال دارای محتوای فیلتر، که به قلاب افزودن_سلب مسئولیت عملکرد برگشت به تماس هنگامی که فیلتر اجرا می شود، این عملکرد تغییر خواهد کرد محتوای $ با الحاق آن به تمام نوشته ها و نظرات متعلق به من است پیام سلب مسئولیت

کد محتوای اصلاح شده را با سلب مسئولیت در پایین به مرورگرها برمی گرداند.

نمایش تصویر به یک دسته پست خاص

قلاب های فیلتر وردپرس به شما امکان می دهند پست ها را با شناسه یا دسته بندی خاص سفارشی کنید. در قطعه زیر، به هر پستی که متعلق به دسته پرمیوم است، یک نماد اضافه کردیم:

add_filter( 'the_content', 'content_filter' );
   function content_filter( $content ) 
   {
      // condition where the function applies
      if ( in_category('premium') )
      $content = sprintf(
         '<img class="premium-icon"    
         src=" Content Icon"  
         title="" />%s', get_bloginfo( 'stylesheet_directory' ), 
         $content);
      return $content;
   }

در مثال، ما را ایجاد کردیم محتوای فیلتر و آن را با قلاب wpb_content_filter عملکرد برگشت به تماس تابع شرایطی را که فیلتر اعمال می شود را مشخص می کند.

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

تغییر تعداد محصولات نمایش داده شده

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

add_filter('storefront_products_per_page','alter_sf_products_per_page' );
   function alter_sf_products_per_page() 
   {
      // change the default value
      return 3 ;
   }

در قطعه، ما ایجاد کردیم storefront_products_per_page فیلتر سفارشی و قلاب آن با alter_sf_products_per_page تابع. هنگامی که داده ها از آن عبور می کنند، فیلتر تابع را برای تغییر مقدار پیش فرض از آن فراخوانی می کند 12 به سه و آن را به مرورگر کاربران نمایش دهید.

سایر فیلترهای رایج وردپرس

بعلاوه افزودن_فیلتر، در اینجا چندین عملکرد دیگر وجود دارد که توسعه دهندگان ممکن است با قلاب فیلتر استفاده کنند.

remove_filter()

این تابع یک تابع متصل به یک فیلتر خاص را حذف می کند. توسعه دهندگان وب معمولاً از این برای حذف عملکرد پیش فرض وردپرس بدون حذف کامل کد استفاده می کنند. در اینجا نحو است:

remove_filter( hook_name, callback_function, priority = 10 );

doing_filter()

این تابع بررسی می کند که آیا عملکرد دیگری در حال حاضر در حال اجرا است یا خیر. نام قلاب را به عنوان پارامتر می گیرد و a را به خروجی می دهد درست است، واقعی یا نادرست ارزش بازگشتی نحو به شرح زیر است:

if doing_filter( 'hook_name’ )
{ 
// execute a script if the filter is running 
};

has_filter()

را دارای_فیلتر عملکرد تأیید می کند که آیا فیلتر با موفقیت روی یک قلاب اعمال شده است یا خیر. نام فیلتر را به عنوان پارامتر اول و تابع callback را به عنوان پارامتر دوم اختیاری می گیرد.

برای بررسی یک تابع خاص، باید پارامتر دوم را وارد کنید. در غیر این صورت باز خواهد گشت درست است، واقعی برای نشان دادن اینکه هر عملکردی به فیلتر متصل است. سینتکس تابع به صورت زیر است:

has_filter( ‘hook_name’, ‘callback_function’ );

نتیجه

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

قلاب فیلتر داده‌های عبور وردپرس را رهگیری می‌کند، آن‌ها را بر اساس نیاز شما تغییر می‌دهد و به مرورگرهای بازدیدکنندگان نمایش می‌دهد. برای تنظیم فیلتر، عبارت را بنویسید افزودن_فیلتر تابع با نام قلاب و تابع callback به عنوان پارامترهای موجود در موضوع شما functions.php فایل.

موارد استفاده نمونه فیلتر هوک شامل تغییر طول گزیده مقاله و افزودن سلب مسئولیت به پست های وب سایت است. بعلاوه افزودن_فیلتر، سایر توابع آن عبارتند از remove_filter، doing_filter، و دارای_فیلتر.

اگر سوال یا نظری دارید، در زیر نظر خود را درج کنید.

آریس یک حرفه ای پرشور فناوری اطلاعات و علاقه مند به وردپرس است. او دوست دارد دانش خود را به اشتراک بگذارد و مردم را ترغیب کند تا سفر آنلاین خود را شروع کنند. وقتی آریس کار نمی‌کند یا وبلاگ نویسی نمی‌کند، از تماشای بررسی ابزارها و نوشتن ابله‌های تصادفی لذت می‌برد.

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