function is_subcategory ($catid) {
$currentcat = get_category($catid);
if ( $currentcat->parent ) {
return true;
} else {
return false;
}
}
условный тег проверки на существование родительской рубрики.
Дебаггер пишет, что неизвестна переменная &catid и, соответственно, само действие (вывод текста) не выполняется.
дык туда надо ID рубрики пихнуть.
что-то типа в category.php:
<?php if (is_category()) {
$category = get_category(get_query_var('cat'));
$cat_id = $category->cat_ID;
if (is_subcategory($cat_id)) {echo 'это подрубрика';}else{echo 'это родительская';}
} ?>
а в functions.php сам условный тег:
function is_subcategory ($catid) {
$currentcat = get_category($catid);
if ( $currentcat->parent ) {
return true;
} else {
return false;
}
}
Не, условие if — else тоже не подойдёт. На текущий момент заголовки архивных страниц выводятся в шаблоне archive.php кодом
if ( is_category() ) :
single_term_title( '<span class="title-regular">Рубрика: </span>' );
А дальше следует целый список других elseif ( is_tag(), is_post_type_archive(), is_tax(), is_author() и т.д.), который заканчивается общим
else :_e( 'Archives' ); endif;
Вот это первое условие — if ( is_category() ) нужно как-то расширить, дополнить, не знаю что, чтобы получить на выходе для всех дочерних категорий заголовок «Подрубрика».
ну приехали.
я вам дал рабочий код, который выводит тестовые фразы.
а к заголовкам приделывайте его сами.
Если бы я умела это делать — я бы и не спрашивала никого. Приделала бы сама всё что надо.
Попробовала. Не работает.
Может быть надо писать не ->parent, а child?