در این فصل ، مثال هایی از استفاده قلاب های فیلتر توسط توابع PHP را مشاهده کردید . اگر بخواهید یک متد از یک کلاس به عنوان اکشن یا فیلتر مورد استفاده قرار بگیرد ، روش فراخوانی توابع add_action() و  add_filter() کمی متفاوت خواهد بود .

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

به کد زیر که در بخش های قبلی به صورت کامل توضیح داده شد ، نگاه کنید .

زمانی که شما بخواهید از پارامتر $function_to_add در یک کلاس استفاده کنید ، باید از یک آرایه با دو پارامتر زیر استفاده کنید .

پارامتر اول مقدار &$this که به کلاس جاری اشاره می کند و مقدار $method_to_add که نام متد اکشن یا فیلتر است .

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

و در هنگام تعریف در یک متد از کلاس پارامتر $function_to_add به صورت زیر تغییر خواهد کرد .

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

متد add_filters() بررسی می کند که آیا کاربر جاری سایت در حال مشاهده یک نوشته تکی می باشد یا خیر . در صورتی که نتیجه بررسی صحیح یا true باشد ، متد content() تاریخ آخرین تغییر نوشته را به انتهای محتوای نوشته اضافه می کند .

قلاب فیلتر template_include وردپرسایجاد قلاب های سفارشی در وردپرس
پیشنهاد می کنیم برای دریافت آخرین مطالب کانال تلگرام کانی تمزرا دنبال کنید .