قسمت ۳ – توابع در تکسانومی / Taxonomy

در این بخش، پرکاربردترین توابع تکسانومی‌ها یا Taxonomies در وردپرس را بررسی می‌کنیم. این توابع به ما کمک می‌کنند تا اطلاعات دسته‌ها و ترم‌ها را دریافت کنیم. همچنین می‌توانیم نام، شناسه، نامک، لینک و ترم‌های مرتبط با یک نوشته را به دست آوریم. توابع این آموزش را در دو بخش بررسی می‌کنیم:

  • بخش ۱: توابعی که با دسته‌ها یا تکسانومی‌های پیش‌فرض وردپرس کار می‌کنند.
  • بخش ۲: توابعی که از تکسانومی‌های سفارشی پشتیبانی می‌کنند.

بخش ۱: توابع تکسانومی‌های پیش‌فرض وردپرس

نکته: توابع این بخش مخصوص دسته‌های پیش‌فرض وردپرس هستند. برای تکسانومی‌های سفارشی باید از توابع بخش دوم استفاده کنیم.

شناسه و نام دسته

  • تابع get_cat_ID: این تابع نام دسته را به‌عنوان ورودی دریافت می‌کند. سپس شناسه یا ID همان دسته را برمی‌گرداند. اگر دسته موردنظر وجود نداشته باشد، تابع مقدار صفر را برمی‌گرداند.
$CateID = get_cat_ID('کتاب ها');
echo $CateID;
  • تابع get_cat_name: این تابع شناسه یک دسته را دریافت می‌کند و نام آن دسته را برمی‌گرداند. عملکرد این تابع برعکس تابع قبلی است.
$CateName = get_cat_name(2);
echo $CateName;

اطلاعات دسته‌ها

  • تابع get_categories: این تابع آرایه‌ای از تنظیمات را دریافت می‌کند. سپس دسته‌های موردنظر را به‌صورت آرایه‌ای از آبجکت‌ها برمی‌گرداند.
$args =array();
$categories = get_categories($args);
echo '<pre>';
print_r($categories);
echo '</pre>';
  • تابع get_category: این تابع تا حدودی شبیه تابع قبلی است. با این تفاوت که شناسه یک دسته مشخص را دریافت می‌کند. سپس اطلاعات همان دسته را به‌صورت آبجکت برمی‌گرداند.
$category = get_category(2);
echo '<pre>';
print_r($category);
echo '</pre>';
  • تابع get_category_by_slug: این تابع نیز اطلاعات یک دسته را به‌صورت آبجکت برمی‌گرداند. با این تفاوت که نامک یا Slug دسته را دریافت می‌کند.
$category = get_category_by_slug('book');
echo '<pre>';
print_r($category);
echo '</pre>';

لینک دسته

  • تابع get_category_link: این تابع کاربرد زیادی دارد. شناسه یک دسته را دریافت می‌کند و لینک صفحه آرشیو همان دسته را برمی‌گرداند.
$link = get_category_link(2);
echo $link;

دسته‌های یک نوشته

  • تابع get_the_category: این تابع شناسه یک نوشته را دریافت می‌کند. سپس دسته‌های نسبت‌داده‌شده به آن نوشته را به‌صورت آرایه‌ای از آبجکت‌ها برمی‌گرداند.
$post_category = get_the_category( 23 );
echo '<pre>';
print_r($post_category);
echo '</pre>';
  • تابع the_category: این تابع دسته‌های یک نوشته را همراه با لینک نمایش می‌دهد. برخلاف تابع قبلی، نیازی نیست خروجی آن را با echo چاپ کنیم.

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

the_category( ',', '', 23 );

بخش ۲: توابع تکسانومی‌های سفارشی وردپرس

نکته: توابع این بخش با تمام تکسانومی‌ها کار می‌کنند. می‌توانیم از آن‌ها برای تکسانومی‌های پیش‌فرض و سفارشی استفاده کنیم.

دریافت اطلاعات یک ترم

  • تابع get_term: این تابع در مثال زیر دو ورودی دریافت می‌کند. ورودی اول شناسه ترم و ورودی دوم نام تکسانومی است. تابع اطلاعات همان ترم را به‌صورت یک آبجکت برمی‌گرداند.

این تابع فقط اطلاعات ترم انتخاب‌شده را برمی‌گرداند. بنابراین اطلاعات فرزندان آن ترم در خروجی قرار نمی‌گیرد.

$term = get_term(11, 'tin_product_type');
echo '<pre>';
print_r($term);
echo '</pre>';
  • تابع get_term_by: این تابع عملکردی شبیه get_term() دارد. با این تفاوت که می‌توانیم ترم را براساس شناسه، نام یا نامک پیدا کنیم.

ورودی اول نوع جست‌وجو را مشخص می‌کند. این ورودی می‌تواند id، name یا slug باشد. ورودی دوم مقدار موردنظر و ورودی سوم نام تکسانومی است.

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

$term = get_term_by( 'id', 11, 'tin_product_type'); //id or name or slug
echo '<pre>';
print_r($term);
echo '</pre>';

نمایش ترم‌های یک نوشته همراه با لینک

  • تابع the_terms: این تابع ترم‌های نسبت‌داده‌شده به یک نوشته را همراه با لینک نمایش می‌دهد. تابع the_terms() خروجی را مستقیماً چاپ می‌کند. بنابراین نیازی به استفاده از echo نداریم.

این تابع پنج ورودی دارد:

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

در مثال زیر، پرانتز قبل و بعد از ترم‌ها نمایش داده می‌شود. همچنین تابع با استفاده از ویرگول ترم‌ها را از یکدیگر جدا می‌کند.

the_terms(143, 'tin_product_type', '(', ',', ')');

دریافت ترم‌های یک نوشته به‌صورت آبجکت

  • تابع get_the_terms: این تابع عملکردی شبیه تابع قبلی دارد. با این تفاوت که ترم‌ها را مستقیماً چاپ نمی‌کند.

تابع get_the_terms() شناسه نوشته و نام تکسانومی را دریافت می‌کند. سپس ترم‌های نسبت‌داده‌شده به آن نوشته را به‌صورت آرایه‌ای از آبجکت‌ها برمی‌گرداند.

$term = get_the_terms( 143, 'tin_product_type' );
echo '<pre>';
print_r($term);
echo '</pre>';

دریافت فرزندان یک ترم

  • تابع get_term_children: این تابع شناسه تمام فرزندان یک ترم را دریافت می‌کند. خروجی شامل فرزندان مستقیم و فرزندان سطح‌های پایین‌تر است.

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

تابع get_term_children() فقط برای تکسانومی‌های سلسله‌مراتبی کاربرد دارد. دسته‌های وردپرس نمونه‌ای از یک تکسانومی سلسله‌مراتبی هستند.

$term = get_term_children( 9, 'tin_product_type' );
echo '<pre>';
print_r($term);
echo '</pre>';

اشتراک‌گذاری با یک کلیک

با یک کلیک، محتوای این صفحه را در شبکه‌های اجتماعی، ایمیل یا پیام‌رسان‌های مورد علاقه‌تان به‌سرعت به اشتراک بگذارید.

اشتراک‌گذاری صفحه قسمت ۳ – توابع در تکسانومی / Taxonomy در شبکه‌های اجتماعی

نظرات شما برای ما ارزشمند است

متاسفانه تاکنون پیامی برای این مطلب ثبت نشده است. شما اولین شخصی باشید که پیام می‌گذارد.

نظرات کاربران

فرم افزودن دیدگاه

با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.

با خدمات تهران آی تی آشنا شوید

تهران آی تی با افتخار خدمات زیر را ارائه می‌دهد.