تاکنون شما با دو تابع خیلی مهم و پایه ای do_action() و add_action() آشنا شده اید . وردپرس دارای توابعی دیگر برای کار با قلاب های اکشن است که در ادامه به آنها می پردازیم .

 

تابع  do_action_ref_array()

این تابع مانند تابع do_action() عمل می کند ، با این تفاوت که روش ارسال پارامترها در آن متفاوت است .

به خاطر دارید که در تابع  do_action()  پارامترها می توانستند صفر یا چند عدد باشند ، اما در تابع  do_action_ref_array() پارامترها به صورت آرایه به آن ارسال می شوند . ضمن اینکه پارامتر آرایه ای که به تابع do_action_ref_array() ارسال می شود الزامی است و حتماً باید به آن ارسال شود .

هدف اصلی از تابع do_action_ref_array() امکان ارسال یک شی (object) به صورت مرجع (refrence) به اکشن های اضافه شده به یک قلاب خاص می باشد .

این بدان معناست که اکشن می تواند شی را بدون برگرداندن آن ، تغییر دهد .

پارامترهای تابع do_action_ref_array()

$tag – نام قلاب اکشن

$args – یک آرایه از آرگومان های ارسال شده به اکشن های ثبت شده برای یک قلاب می باشد . معمولاً این پارامتر یک شی است که اکشن می تواند آن را تغییر دهد .

اکنون به یک نمونه خاص از چگونگی فراخوانی تابع do_action_ref_array() توسط وردپرس نگاه کنید .

کد زیر از قلاب اکشن pre_get_posts استفاده می کند .

وردپرس این قلاب را قبل از بارگذاری نوشته ها از دیتابیس ، اجرا می کند . این قلاب به شما امکان می دهد قبل از پرس و جوی نوشته ها ، آن را تغییر دهند .

همانطور که میبینید ، نام قلاب یعنی pre_get_posts به عنوان پارامتر اول به تابع ارسال شده است .

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

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

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

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