تعداد بازدید: 557

نمایش پست ها بر اساس تکسونومی (tax_query)

در این مقاله کوتاه می خواهیم نحوه کوئری گرفتن از پست تایپ ها بر اساس تکسونومی ها (taxonomy) در وردپرس رو بررسی کنیم. برای این کار ما باید از شی WP_Query استفاده کنیم که اگر قصد داشته باشیم تا کوئری براساس تکسونومی بخوره باید یه سری پارامتر به اون اضافه کنیم.

پارامتر های Taxonomy

برای نمایش پست ها بر اساس تکسونومی خاص ما از پارامتر tax_query در شی WP_Query استفاده می کنیم که خودش چند پارامتر به صورت آرایه یا آرایه ای از آرایه ها می گیره.

  • relation : رابطه منطقی میان taxonomy ها زمانی که قراره بیش از یک تکسونومی رو در کوئری قرار بدیم. بطور مثال AND , OR . مقدار پیش فرض اون AND هست.
  • taxonomy : تکسونومی مورد نظر است که باید به صورت رشته ای (string) قرار بگیره و همون نامی هست که ما باهاش تکسونومی رو register کردیم با تابع register_taxonomy .
  • field : تکسونومی ها بر چه اساسی select بشن . این مورد مقادیر زیر رو می گیره :
    term_id براساس term id
    name براساس نام
    slugبراساس نامک
  • terms : مقدار term ها که می تونه به صورت عددی رشته ای یا آرایه باشه . بستگی به مقداری داره که در حالت field انتخاب کردید.
  • include_children : این که فرزندان این تکسونومی هم شامل بشه یا خیر.
    نکته مهم : زمانی که include_children برابر true باشه تمامی id های فرزندان یک تکسونومی هم در کوئری ما قرار می گیره.
  • oprator : عملگری که قراره برای شرط تکسونومی ما قراربگیره . این شرط بر روی مقدار های پرارامتر های terms اعمال می شه .  بطور مثال ما یه سری تکسونومی رو select کردیم و میخوایم پست هایی که در این تکسونومی وجود داره (IN) یا وجود نداره (NOT IN) رو نمایش بدیم.
    IN پست هایی که در این تکسونومی وجود دارند
    NOT IN پست هایی که در این تکسونومی وجود ندارند.
    AND اگر در پارامتر terms آرایه ای داده باشید به صورت پیش فرض همه پست هایی که terms اون ها در این آرایه باشه نمایش میده . اما اگر در این مورد بخواهید پست هایی رو نمایش بدید که همه term هایی که به پارامتر tersms دادید رو داشته باشند تا نمایش داده بشن باید از AND در پارامتر oprator استفاده کنید.
    EXISTS    یعنی پست هایی رو نمایش بده که حداقل یک term از term های تکسونومی taxonomy در اون ها وجود داشته باشه .
    NOT EXISTS یعنی پست هایی رو نمایش بده که هیچ یک از term هایی که تا به الان انتخاب کردیم و نداشته باشن.
    نکته مهم : زمانی که شما از این پارامتر استفاده می کنید دیگه موارد field و terms معنی پیدا نمی کنند.

Simple Taxonomy Query

اگر شما برای آرگومان های WP_Query تنها یک آرایه برای query_tax انتخاب کرده باشید میشه simple taxonomy query

Multiple Taxonomy Query

اگر بخواهید از چندین تکسونومی با شروط مختلف به وسیله پارامتر ralation کوئری بگیرید میشه multiple taxonomy query

که relation در کوئری بالا می تونه AND  یا OR باشه.

Nested Taxonomy Query

میشه کوئری های کمی پیچیده تر به صورت تو در تو نوشت . به طور مثال پست هایی که در دسته بندی quoat هستند یا پست هایی که در پست فرمت post-format-quote و دسته بندی wisdom هستند.

 

 

مطالب مشابه

آموزش نکات و تکنیک های برنامه نویسی وردپرس

Settings API در وردپرس

وردپرس برای ساخت پنل تنظیمات شبیه به پنل تنظیمات پیش فرض خودش API هایی رو قرار داده . Settings API , Options API دو...

آموزش نکات و تکنیک های برنامه نویسی وردپرس

query_vars در وردپرس

در این مقاله قصد داریم تا در رابطه با query_vars یا همان متغیر های نهان در url صحبت کنیم.اگر شما از ساختار ساده در...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای نمایش پست ها بر اساس تکسونومی (tax_query)

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *