توابع در تکسانومی / Taxonomy
در این بخش قصد داریم تا پرکاربردترین توابع تکسانومی ها / Taxonomies را برای شما جمع آوری و توضیح دهیم. ما توابع را به دو بخش تقسیم بندی کردیم که به شرح ذیل است :
- بخش ۱ : توابعی که با کتگوری ها یا همان تکسانومی های پیش فرض وردپرس میباشد کار میکند.
- بخش ۲ : توابعی که با تکسانومی هایی که ما خودمان اضافه میکنیم یا همان تکسانومی های سفارشی کار میکند.
بخش ۱ : توابع تکسانومی های پیشفرض وردپرس
نکته : این تابع مخصوص کتگوری های پیش فرض وردپرس میباشد و در تکسانومی هایی که ما خودمان اضافه میکنیم کار نمیکند.
- تابع get_cat_ID : این تابع نام کتگوری را به عنوان ورودی میگیرد و در خروجی به ما ID آن کتگوری را میدهد.
$CateID = get_cat_ID('کتاب ها');
echo $CateID;
- تابع get_cat_name: این تابع ID کتگوری را به عنوان ورودی میگیرد و در خروجی به ما نام آن کتگوری را میدهد. برعکس مثال بالا است.
$CateName = get_cat_name(2);
echo $CateName;
- تابع get_categories : این تابع آرایه ای از اطلاعات میگیرد و در خروجی کتگوری ها را به صورت آبجکت بر میگرداند.
$args =array();
$categories = get_categories($args);
echo '<pre>';
print_r($categories);
echo '</pre>';
- تابع get_category : تا حدودی شبیه مثال بالا است با این تفاوت که به عنوان ورودی ID کتگوری مورد نظر را میگیرد و در خروجی آبجکت آن کتگوری را بر میگرداند.
$category = get_category(2);
echo '<pre>';
print_r($category);
echo '</pre>';
- تابع get_category_by_slug : مانند مثال بالاست و آبجکت برمیگرداند و تفاوت آن در این است که به عنوان ورودی ID نمیگیرد بلکه slug یا همان نامک کتگوری را میگیرد.
$category = get_category_by_slug('book');
echo '<pre>';
print_r($category);
echo '</pre>';
- تابع get_category_link : بسیار پرکاربرد است و به عنوان ورودی ID کتگوری را دریافت میکند و در خروجی لینک آن کتگوری را برمیگرداند.
$link = get_category_link(2);
echo $link;
- تابع get_the_category : این تابع ID یک پست را به عنوان ورودی میگیرد و در خروجی لیست کتگوری های نسبت داده شده به آن را به صورت آبجکت برمیگرداند.
$post_category = get_the_category( 23 );
echo '<pre>';
print_r($post_category);
echo '</pre>';
- تابع the_category : دقیقا شبیه به تابع بالا یعنی get_the_category است با این تفاوت که آبجکت برنمیگرداند، بلکه کتگوری ها را به صورت لینک برمیگرداند و ۳ ورودی میگیرد ورودی اول مقدار جدا کننده است که میتواند ویرگول یا هر چیز دیگری باشد، مقدار دوم بی کاربرد است و ورودی سوم ID یک پست میباشد.
$post_category = the_category( ',', '', 23 );
echo $post_category;
بخش ۲ : توابع تکسانومی های سفارشی وردپرس
نکته : این تابع برای تمام تکسانومی ها مخصوصا تکسانومی هایی که ما خودمان اضافه میکنیم کاربرد دارد.
- تابع get_term : این تابع دو ورودی میگیرد یکی ID ترم مورد نظر ما و دومی نام تکسانومی و خروجی آن آبجکتی است از فقط خود آن ترم و نه فرزندان آن.
$term = get_term(11, 'tin_product_type');
echo '<pre>';
print_r($term);
echo '</pre>';
- تابع get_term_by : دقیقا مثل تابع بالا میباشد با این تفاوت که میتوانیم به جای ID از NAME یا SLUG نیز استفاده کنیم. ورودی های این تابع به ترتیب نوع ترم که میتواند 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 : این تابع ID یک پست را به عنوان ورودی میگیرد و در خروجی لیست کتگوری های نسبت داده شده به آن پست را به صورت کامل و لینک دار برمیگرداند. ۵ ورودی میگیرد ورودی یک ID پست مورد نظر ماست، ورودی دوم نام تکسانومی، ورودی سوم کاراکتر یا هر چیزی که میخواهیم قبل از کتگوری ها چاپ شود، ورودی چهارم کاراکتر یا هر چیزی که میخواهیم بین کتگوری ها چاپ شود، ورودی پنجم کاراکتر یا هر چیزی که میخواهیم بعد از کتگوری ها چاپ شود.
این تابع نیازی به اکو کردن و یا چاپ کردن ندارد و خودش این کار را نیز انجام میدهد.
the_terms(143, 'tin_product_type', '(', ',', ')');
- تابع get_the_terms : مانند تابع بالا میباشد با این تفاوت که آبجکت بر میگرداند. و ID یک پست را به عنوان ورودی میگیرد و ابجکت هایی از کتگوری های نسبت داده شده به آن پست را برمیگرداند.
$term = get_the_terms( 143, 'tin_product_type' );
echo '<pre>';
print_r($term);
echo '</pre>';
- تابع get_term_children : این تابع تمام فرزندان یک ترم یا دسته را به ما بر میکرداند. و دو ورودی میگیرد یکی ID ترم مورد نظر ما و دومی نام تکسانومی و خروجی آن آرایه ای است از نام فرزندان آن ترم یا دسته.
$term = get_term_children( 9, 'tin_product_type' );
echo '<pre>';
print_r($term);
echo '</pre>';