Flector

Как проверить существование родительской рубрики?

Иногда по каким-то причинам вебмастеру необходимо знать, является ли текущая рубрика родительской или дочерней. Например, при формировании заголовка архива рубрики. Для этого можно использовать следующий условный тег (добавьте код условного тега в файл functions.php вашей темы):

//условный тег проверки на дочерность start 
function is_subcategory ($catid) {
    $currentcat = get_category($catid);
    if ($currentcat->parent) {
        return true;
    } else {
        return false;
    }
} 
//условный тег проверки на дочерность end

Использовать этот условный тег очень просто, например, так:

<?php  
if (is_category()) {
    $category = get_category(get_query_var('cat'));
    $cat_id = $category->cat_ID;
    if (is_subcategory($cat_id)) {
        echo '<h1>Подрубрика: ' . single_cat_title('', false) . '</h1>';
    } else {
        echo '<h1>Рубрика: ' . single_cat_title('', false) . '</h1>';
    }
} 
?>

Данный код выведет разные заголовки в соответствии с тем, какая рубрика выводится - родительская или дочерняя. Естественно, что данный код можно и нужно модернизировать под ваши нужды - это лишь базовое применение условного тега.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!