راهنمای سیستم هوک و apply_filters وردپرس

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

سیستم هوک و apply_filters وردپرس

بهتر است قبل از اینکه با تابع apply_filters وردپرس آشنا شویم، کمی در مورد هوک صحبت کنیم و ببینیم به چه معناست و چه کاری انجام می دهد.

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

راهنمای سیستم هوک و apply_filters وردپرس

Filter

در فیلتر موضوع متفاوت است و زمانی کاربرد دارد که بخواهیم قبل از نمایش یک پست در سایت تغییراتی بر روی آن اعمال کنیم یا قبل از ذخیره یک مطلب در دیتابیس آن را ادیت کنیم و ….
مهم ترین نمونه ای که در این بخش موجود است فیلتر apply_filters وردپرس می باشد که بیشتر به مبحث امروز ما بر می گردد و قرار است مورد بررسی قرار گیرد.

Action

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

بیشتر بخوانید :  کپی از محتوا در وردپرس با افزونه Post Duplicator

دو نمونه از معروف ترین اکشن ها ()wp_head و () p_footer هستد که در اکثر قالب ها دیده میشوند ()wp_head در فایل header.php قرار داره و () p_footer در فایل footer.php که البته از کد آن ها نیز می توان متوجه این موضوع شد.

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

برای مثال بعضی از پلاگین ها برای اضافه کردن کد دلخواهشان به قسمت head وب سایت از اکشن wp_head استفاده میکنند.

جهت روشن شدن توضیحات بالا چند مثال میزنیم:

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

در فایل functions.php یک تابع دلخواه برای اضافه کردن مطلب تعریف میکنیم :

پس از تعریف تابع دلخواه توسط دستور زیر تابع را به فیلتر the_content نسبت می دهیم :

حال نوشته این یک متن ثابت است به انتهای تمامی پست ها اضافه میشود .

در انتها برای نمایش کاربرد اکشن ها با استفاده از اکشن wp_head() برای کلاس matlab که در بالا تعریف کردیم style تعریف میکنیم.
در این مورد هم ابتدا یک تابع دلخواه تعریف کرده سپس به اکشن wp_head() نسبت می دهیم :

بیشتر بخوانید :  حذف اسلش از انتهای لینک های وردپرس با استفاده از فایل htaccess

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

با توجه به قطعه کد بالا یعنی می توانیم مطلب مورد نظر را که به کمک تابع apply_filters وردپرس به قسمت the_content وصل کرده ایم، تغییر دهیم. به صورت قطعه کد زیر:

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

 

مطالب زیر را حتما مطالعه کنید
نظرات و دیدگاه ها
  • نظرات ارسال شده توسط شما، پس از تایید توسط مدیران سایت منتشر خواهد شد
  • نظراتی که حاوی تهمت یا افترا باشد منتشر نخواهد شد
  • نظراتی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد

هنوز دیدگاهی منتشر نشده است