Определение родительской, пра-родительской и пра-пра-родительской категории записи

Данная статья устарела, оставлена чисто для ознакомления, актуальная статья находиться тут — http://raftkorn.com/wordpress-uslovie-dlya-podkategorij/.


Корректно работает только в том случае если запись находиться в одной рубрике!

Определение родительской категории записи:

<?php $category = get_the_category();
$catcat = $category[0]->cat_ID;
if ($catcat == 1) { ?>
ВЫВОДИМ ЕСЛИ РОДИТЕЛЬСКАЯ КАТЕГОРИЯ С ИД 1
<?php } ?>

Определение пра-родительской категории записи:

<?php $category = get_the_category();
$catcat = $category[0]->cat_ID;
$args = array('include' => $catcat, 'hide_empty' => 0 );
$categories = get_categories($args);
if (($categories[0]->category_parent == 1)) { ?>
ВЫВОДИМ ЕСЛИ ПРА-РОДИТЕЛЬСКАЯ КАТЕГОРИЯ С ИД 1
<?php } ?>

Определение пра-пра-родительской категории записи:

<?php $category = get_the_category();
$catcat = $category[0]->cat_ID;
$args = array('include' => $catcat, 'hide_empty' => 0 );
$categories = get_categories($args);
$args2 = array('include' => $categories[0]->category_parent, 'hide_empty' => 0 );
$categories2 = get_categories($args2);
if (($categories2[0]->category_parent == 1)) { ?>
ВЫВОДИМ ЕСЛИ ПРА-ПРА-РОДИТЕЛЬСКАЯ КАТЕГОРИЯ С ИД 1
<?php } ?>

1 — это ид нужной рубрики.

Аналогично можно продолжить до пра-пра…прародительской, а также комбинировать. К примеру если у вас трехуровневый каталог, то можно определять для все 3х уровней так:

<?php $category = get_the_category();
$catcat = $category[0]->cat_ID;
$args = array('include' => $catcat, 'hide_empty' => 0 );
$categories = get_categories($args);
$args2 = array('include' => $categories[0]->category_parent, 'hide_empty' => 0 );
$categories2 = get_categories($args2);
if ($catcat == 1 || ($categories[0]->category_parent == 2) || ($categories2[0]->category_parent == 3)) { ?>
ВЫВОДИМ ЕСЛИ РОДИТЕЛЬСКАЯ 1, ИЛИ ПРА-РОДИТЕЛЬСКАЯ 2, ИЛИ ПРА-ПРА-РОДИТЕЛЬСКАЯ 3
<?php } ?>
Запись опубликована в рубрике php, WordPress. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *