Задать вопрос

Как сделать большую вложенность в Worpdress?

Здравствуйте.

Есть макет, со следующей иерархией:

Рубрика родитель
> Рубрика потомок > записи
> Рубрика потомок > Рубрика потомок >записи
> Рубрика потомок > Рубрика потомок > Рубрика потомок > записи

Логика такая, что если в рубрике нет записей - на странице рубрики должны выводится ссылки на вложенные категории (детей), если записи есть - выводить их.

Не понимаю как реализовать без жестких костылей.

Ах, да на сайте много других разделов, такая логика нужна только в одном.

Как делаю:
В файле категории проверяю id текущей рубрики, вывожу ее детей:
if ($catID=="139"){
			global $ancestor;
			$childcats = get_categories('child_of=' . $cat . '&hide_empty=1');
			foreach ($childcats as $childcat) {
				if (cat_is_ancestor_of($ancestor, $childcat->cat_ID) == false){
					echo '<li><h2><a href="'.get_category_link($childcat->cat_ID).'">';
					echo $childcat->cat_name . '</a></h2>';
					echo '<p>'.$childcat->category_description.'</p>';
					echo '</li>';
					$ancestor = $childcat->cat_ID;
				}
			}  
}


Потом проверяю есть ли записи в рубрике, если есть вывожу.
Но вот проблема, что WP считает если запись есть во вложенной категории, то она есть и в рубрике родителе - что полностью сломало мои планы.

Вопрос, как поступить, возможно кто-то делал что то подобное?
  • Вопрос задан
  • 261 просмотр
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
$childcat->count
покажет количество записей в рубрике,
if( $childcat->count > 0) {
$woo_query = new WP_Query(array('tax_query' =>array(array('field' => 'slug','terms' => $terms->slug,'include_children' => false,'taxonomy' => $cur_tax)))) ;
// выводим записи
}


пример:
2174b27846.jpg
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы