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

توابع مرتبط با taxonomy (قسمت دوم)

در این مقاله قصد داریم تا توابع عمومی تر در رابطه با تکسونومی ها ( taxonomy ) یا term ها رو بررسی کنیم . در قسمت اول این مقاله ما توابعی رو بررسی کردیم که خروجی اون ها html بود . حالا توابعی رو بررسی می کنیم که خروجی اون ها خام تر باشه ( شی و انواع آرایه مثل آرایه انجمنی ) که بتونیم از اون ها راحت تر استفاده کنیم .

get term

این تابع یک term رو برای شما بر می گردونه به هر شکلی که دوست داشته باشید (شی یا آرایه).

آرگومان های این تابع:

  • $term : این پارامتر می تونه integer/object دریافت کنه که میشه id یا شی مربوطه به term.
  • $taxonomy : تکسونومی مورد نظر.
  • $output : که می تونه مقادیر زیر رو بگیره :
    OBJECT , ARRAY_A , ARRAY_N

get_term_by

این تابع امکان بیشتری برای گرفتن term داره و می تونه به وسیله id , slug , name برای شما term رو بگیره.

آرگومان های این تابع:

  • $field : این پارامتر همون معیاری هست که شما بر اساس اون term رو میگیرید که می تونه مقادیر زیر رو بگیره:
    id‘, ‘slug‘, ‘name‘, ‘term_taxonomy_id
  • $value : مقدار با توجه به فیلدی که در پارامتر قبلی تعیین کردیم.
  • $output : که می تونه مقادیر زیر رو بگیره :
    OBJECT , ARRAY_A , ARRAY_N

get_the_terms

این تابع term های یک تکسونومی رو بر اساس پست پیدا می کنه. این تابع رو میشه هم به پست ها و هم به taxonomy ها نسبت داد!

get_terms

خوب رسیدیم به تابع get_terms که بسیار جامع تر و کلی تر از توابع قبل هست.

پارامتر های این تابع به قرار زیر است:

  • taxonomy : تکسونومی مورد نظر
  • orderby : معیار مرتب سازی دسته بندی ها در select box که می تواند بر اساس id , name , slug , count باشد. منظور از count تعداد پست های مرتبط با هر دسته بندی است.
  • order : مرتب سازی به صورت صعودی یا نزولی باشد . ASC,DES
  • hide_empty : مخفی کردن مواردی که پستی مرتبط با آن ها وجود ندارد.
  • include : این پارامتر می تونه (string/array)  بگیره . اگر string بود باید id ها به وسیله , از هم جدا بشن . بهتره برای سریع تر شدن کوئری بهشون آرایه بدید. کاربردش هم شامل شدن id های دسته بندی .
  • exclude : این پارامتر می تونه (string/array)  بگیره . اگر string بود باید id ها به وسیله , از هم جدا بشن . بهتره برای سریع تر شدن کوئری بهشون آرایه بدید. کاربردش هم شامل نشدن id های دسته بندی .
  • exclude_tree : این پارامتر کلا یک شاخه رو حذف می کنه . یعنی شما یه id بهش میدید و اون خود term به همراه فرزندانش رو حذف می کنه.
  • number : این پارامتر مشخص می کنه که چه تعداد از term ها رو برگردونه. معادل limit در mysql .
  • offset : بر اساس اون ترتیبی که رعایت کردید چه مقدار افست از بالا بگیره . تا الان یه کوئری زدید که یه سری ردیف رو از جدول برای شما بر می گردونه حالا با این پارامتر می تونید بهش افست بدید . معادل همون offset در mysql.
  • fields : این پارامتر نوع خروجی این تابع رو بر اساس یه سری قالب ها تعیین می کنه . تا الان این تابع خروجی رو به صورت object بر می گردوند . شما می تونید این خروجی رو تغییر بدید. مقادیری که این پارامتر می گیره به شکل زیر هست.
    all , ids , id=>parent , names , count , id=>name , id=>slug
    نکته : اگر مقدار count رو وارد کنید به شما میگه کلا اون کوئری که زدید چند تا خروجی داره . پس خروجی میشه یه عدد که تعداد term هاست.
  • name : نام term مورد نظر برای برگردوندن شی اون term.
  • slug : مقدار نامک یا slug
  • description_like : توضیحات مربوط به term این مورد از like در mysql استفاده می کند.
  • pad_count : مثالی رو در نظر بگیرید برای دسته بندی لینوکس و ابونتو که اوبونتو فرزند دسته بندی لینوکس هست. خوب اگر ما بخواهیم تعداد پست های دسته بندی لینوکس رو در نظر داشته باشیم قطعا از نظر ماهیتی دسته بندی اوبونتو هم جز این موارد به حساب میاد و ما وقتی تیک دسته فرزند رو بزنیم قطعا تیک دسته والد رو زدیم. حالا اگر تیک دسته والد رو نزده باشیم آیا برای ما جز والد حساب کنه یا خیر . این پارامتر صرفا برای تعداد کاربرد داره.
  • child_of : فرزندان term رو بر میگردونه . بر اساس id .
  • parent : بر اساس والد term ها رو بر می گردونه . مشابه مورد بالایی هست .
  • childless : میگه اونهایی رو برگردون که فرزند نداشته باشن یا به عبارتی والد نباشن.

 

مطالب مشابه

Settings API در ووکامرس

ما برای ساخت پنل تنظیمات برای افزونه ها از api خود وردپرس استفاده می کردیم. حال این که افزونه مکمل برای ووکامرس می...

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

Settings API در وردپرس

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

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

ابوالفضل صباغ

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

2 دیدگاه برای توابع مرتبط با taxonomy (قسمت دوم)

  1. سلام دوست عزیز من دارم ووردپرس یاد میگیرم .و الان تازه تکسونومی یاد گرفتم خیلی جاها سوالاتی برام پیش میاد میتونم از شما کمک بگیرم.مثلا میتونم termها رو مثل دسته های منو در صفحه اول index بیارم .اگه راه داره راهنماییم کنین ممنون

دیدگاهتان را بنویسید

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