Суть вопроса такая. Есть код
$cat = get_category(get_query_var('cat'),false);
$cat_parent = $cat->parent; // ID родительской категории
$current_cat = get_query_var('cat'); // ID текущей категории
if ($cat_parent == 0) {
wp_list_categories('depth=2&hide_empty=0&title_li=&show_count=0&child_of='.$current_cat);
} else {
wp_list_categories('depth=2&hide_empty=0&title_li=&show_count=0&child_of='.$cat_parent);
}
с помощью которого выводятся дочерние рубрики текущей, либо дочерние рубрики родителя (если находишься на странице подкатегории).
Как можно вывести дочерние рубрики родительской рубрики, находясь на странице записи?
Это нужно для создания динамического меню.
Т.е. где бы мы ни находились, в категории, в под категории, на странице записи - мы всегда видим меню, в котором содержатся подрубрики родительской, т.е. 1-го уровня.
Добавьте такую функцию в function.php вашей темы. Ее можно вызывать как из шаблона категории, так и из шаблона поста.
function cat_list_737863() {
global $cat;
$current_cat = $cat; // ID текущей категории
if ( '' === $cat ) {
// На странице поста
$category = get_the_category( get_the_ID() );
$cat = $category[0]->cat_ID;
}
$cat_top = $cat; // ID самой верхней родительской категории
while ( null !== $cat_top->parent ) {
$cat_top = $cat_top->parent;
}
echo '<ul class="children">';
echo '<li class="cat-item cat-tem-' . intval( $cat_top ) . '">';
echo '<a href="' . get_category_link($cat_top) . '">' . get_cat_name($cat_top) . '</a>';
echo '<ul class="children">';
wp_list_categories( 'hide_empty=0&title_li=&show_count=0&child_of=' . $cat_top );
echo '</ul>';
echo '</li>';
echo '</ul>';
}
Работающий пример у меня на тестовом сайте: http://test.kagg.eu/uncategorized/
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники