در این بخش قصد داریم تا یکی از کاربردی ترین توابع تکسانومی / Taxonomy به نام get_terms را آموزش دهیم. تابع get_terms مجموعه ای از ترم ها را به صورت آبجکت برمیگرداند و به عنوان ورودی آرایه از تنظیمات یا مقادیر دریافت میکند. در کد زیر ما تابع get_terms را مقدار دهی و فراخوانی کردیم و در ادامه مقادیری که میتواند دریافت کند را توضیح داده ایم پس با ما همراه باشید.
$args = array(
'taxonomy' => 'category',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true,
'include' => '',
'exclude' => '',
'exclude_tree' => '',
'number' => '',
'offset' => '',
'fields' => 'all', //all,ids,id=>parent,names,count,id=>name,id=>slug
'name' => '',
'slug' => '',
'hierarchical' => true,
'description__like' => '',
'child_of' => false,
'childless' => false,
);
$terms = get_terms($args);
echo '<pre>';
print_r($terms);
echo '<pre>';
taxonomy : اگر بخواهیم تکسانومی های پیش فرض وردپرس را نمایش دهیم از عبارت category استفاده میکنیم و اگر بخواهیم تکسانومی های سفارشی که خودمان ایجاد کردیم را نمایش دهیم کافی است نام تکسانومی خود را در این بخش وارد کنیم.
orderby : میتواند لیست یا دراپ دان ما را بر اساس مواردی مثل id, name, slug, count مرتب کند. مثلا اگر orderby را برابر با count قرار دهیم لیست یا دراپ دان ما را بر اساس تعداد نوشته مرتب مبکند.
order : توسط orderby میتوانستیم مدل مرتب سازی لیست خود را مشخص کنیم و توسط order میتوانیم صعودی بودن یا نزولی بودن آن را مشخص کنیم. و دو مقدار ASC و یا DESC میتواند دریافت کند.
hide_empty : مشخص میکند که اگر در دسته ای پستی وجود نداشت آن را چاپ کند یا خیر و مقدار true یا false میگیرد.
include : دقیقا برعکس exclude میباشد و تنها مواردی را نمایش میدهد که ID آن برای include تعریف کرده باشیم و هم میتواند یک ID بگیرد هم آرایه ای از ID ها.
exclude : هم میتواند یک ID بگیرد هم آرایه ای از ID ها و کار آن این است که ID های مشخص شده را نمایش ندهد.
exclude_tree : فقط در لیست ها کاربرد دارد، یک دسته را همراه با فرزندان آن حذف میکند و میتواند یک ID دسته و یا آرایه ای از ID های دسته ها را برای حذف بگیرد.
number : توسط فیلد number میتوانیم تعداد ترمی که قرار است برای ما برگرداند را مشخص مثلا اگر آن را برابر با ۳ قرار دهیم فقط ۳ ترم برای ما بر میگرداند و اگر آن را خالی بزاریم ‘ ‘ همه را بر میگرداند.
offset : ارتباط مستقیم با فیلد number دارد و مثلا اگر به فیلد number عدد ۳ بدیم که ۳ ترم برای ما برگرداند توسط offset میتوانیم مشخص کنیم آن ۳ تای چندم را نشان دهد مثلا اگر عدد ۲ بدهیم ۳ ترم دوم را برای ما برمیگرداند. برای صفحه بندی خیلی میتواند مناسب و کاربردی باشد.
fields : توسط فیلد fields میتوانیم مشخص کنیم چه آبجکت هایی از یک ترم را برای ما برگرداند. مثلا اگر مقدار all را به آن نسبت دهیم همه آبجکت ها را بر میگرداند و یا اگر مقدار ids را نسبت دهیم فقط id های آن را بر میگرداند. مقادیری که میتواند دریافت کند به شرح ذیل است :
name : این فیلد نام یک ترم را دریافت میکند و فقط آن ترم را برای ما بر میگرداند.
slug : این فیلد اسلاگ یا همان نامک یک ترم را دریافت میکند و فقط آن ترم را برای ما بر میگرداند.
hierarchical : مقدار true یا false میگیرد و مشخص میکند که سلسله مراتب رعایت شود یا خیر. مثلا فرزندان را مقداری جلو تر از والد ها نمایش میدهد.
description__like : زمانی که میخواهیم یک دسته ایجاد کنیم علاوه بر نام و نامک و … فیلدی به نام توضیحات دارد در صورتی که description__like را برابر با رشته ای قرار دهیم، این رشته اگر در توضیحات ترمی وجود داشت، آن ترم را برای ما بر میگرداند. مانند دستور like در sql یا my-sql میباشد.
child_of : فقط ترم هایی را برمیگرداند که فرزند دسته ای باشد که ما ID آن را به child_of نسبت داده ایم.
childless : مقدار true یا false میگیرد و اگر true باشد فقط ترم هایی را برمیگرداند که فرزند باشد و هیچ پرنتی را بر نمیگرداند.