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

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

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

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

به عنوان مثال، یک پاورقی به همه پست های وب سایت اضافه کنید یا طول گزیده آنها را تغییر دهید. چهار فیلتر رایج وجود دارد hook کارکرد – افزودن_فیلتر، 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 روی it
      $example . ‘ add a text at the end ’;
      return $example;
   }

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

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

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

محل فایل functions.php در مدیریت فایل hPanel

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

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

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

پیشنهاد می‌کنیم بخوانید:  کدهای کوتاه WooCommerce: راهنمای کامل و فهرست

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

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

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

  • نام هوک. نام فیلتر تو می خواهی که hook توابع پاسخ به تماس در.
  • عملکرد برگشت به تماس. عملکرد برگشت به تماس هنگام اعمال فیلتر اجرا می شود.
  • اولویت. یک پارامتر اختیاری که ترتیب اجرای توابع مرتبط با یک فیلتر را مشخص می کند. مقدار پیش فرض است 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 و آن را به کاربر ارسال کنید.

  طول قطعه پست های وردپرس تغییر یافته است  طول قطعه پست های وردپرس تغییر یافته است

مهم! برای برخی از تم های وردپرس، باید آن را نیز ویرایش کنید content.php فایل برای اعمال فیلتر گزیده. آموزش ما را بخوانید روی روش تغییر طول گزیده وردپرس برای کسب اطلاعات بیشتر در مورد آن.

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

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

 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="https://www.hostinger.com/tutorials/%s/directory/filename.png"alt="Premium Content Icon"  
         title="" />%s', get_bloginfo( 'stylesheet_directory' ), 
         $content);
      return $content;
   }

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

پیشنهاد می‌کنیم بخوانید:  روش راه اندازی سرور پخش ویدئو

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

یک نماد on یک پست از یک دسته خاصیک نماد on یک پست از یک دسته خاص

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

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

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 به سه و به مرورگر کاربران نمایش دهد.

محصولات on ویترین فروشگاه یک وب سایت وردپرس تجارت الکترونیکمحصولات on ویترین فروشگاه یک وب سایت وردپرس تجارت الکترونیک

مطالعه پیشنهادی

درباره عملکرد وردپرس بیشتر بدانید:
روش استفاده از تابع get_post_meta وردپرس

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

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

remove_filter()

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

remove_filter( hook_name, callback_function, priority = 10 );

doing_filter()

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

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

has_filter()

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

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

has_filter( ‘hook_name’, ‘callback_function’ );
بنر میزبانی وردپرسبنر میزبانی وردپرس
فیلترها در وردپرس چیست و چگونه از add_filter وردپرس استفاده کنیم 12

نتیجه

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

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

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

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