Intereting Posts
Тип персонализированного сообщения WordPress удаляет дубликат пункта меню Re Редактор заказов будет после мета-окна Правило перезаписи для переименования wp-admin для wordpress multisites Создание php-страниц в wordpress и назначение их на страницы wordpress Необходимо вернуться к старой версии wordpress Как показать все связанные сообщения с определенной датой обмена данными? Сообщения WordPress в аккордеоне не отображаются на некоторых ПК wp_register_sidebar_widget () отключил мое подменю Widgets – что я делаю неправильно? is_search называется unsreclty Отключить автоматическую привязку wp_query pagination links, производя 404 Шаблон пользовательской страницы WordPress в другом каталоге Довольно URL-адреса для пользовательского типа сообщения и пользовательской таксономии с дублирующимися слизнями на WPML Количество отображаемых сообщений Страницы пользовательского типа сообщений «не найдены»

Запуск get_posts в get_posts для получения детей детей

У меня есть иерархический пользовательский тип сообщения, называемый « курсы ».

Когда вы приедете на пост в курсе, есть чек, чтобы узнать, есть ли у записи дети. Если на курсах есть дети, он запускает get_posts для отображения списка этих детей.

Вот где я боюсь; часть детали элемента дочернего списка состоит в отображении количества детей, которое имеет дочерний пост. Итак, что я пытался сделать, это запустить get_posts в get_posts, но это работает не так, как ожидалось.

Чтобы помещать вещи в контекст и, возможно, лучше объяснять, вот некоторые из иерархии:

  • Adobe> Acrobat> Вводный курс
  • Adobe> FrameMaker> Расширенный курс
  • Adobe> FrameMaker> Вводный курс

Поэтому, когда посетитель нажимает на « Adobe », они получают список детей, два элемента:

  • Acrobat; &
  • Framemaker.

Под этими заголовками должна быть подробная информация о том, сколько суб-курсов доступно, поэтому Акробат должен сказать; « 1 курс доступен », и Framemaker должен сказать « 2 доступных курса ».

Это не работает. Sub get_posts ничего не возвращает. Мой конкретный вопрос: как узнать, сколько детей имеет ребенок, когда внутри цикла get_posts . Или я должен попробовать другой подход?

Мой текущий (упрощенный) код …

 $postid = get_the_ID(); $kids = array( 'post_type' => 'courses', 'post_parent' => $postid ); $children = get_posts( $kids ); if ( $children ) { echo '<ul>'; foreach( $children as $child ) { $childid = $child->ID; $coursetitle = get_the_title( $childid ); $grandkids = get_posts( array( 'post_type' => 'courses', 'post_parent' => $childid ) ); $grandchildren = count($grandkids); echo '<li>'; echo $coursetitle; echo $grandchildren . 'courses available'; echo '</li>'; } } 

Любая помощь от вас мудрых была бы очень оценена.

Solutions Collecting From Web of "Запуск get_posts в get_posts для получения детей детей"

Ваш код должен работать, возможно, ваш параметр «Записи на странице» на задней панели установлен в 1 . Было бы полезно явно указать posts_per_page в ваших аргументах запроса. Вы также можете сделать код быстрее, если вам нужно знать только количество сообщений внуков, вы можете просто вернуть идентификаторы сообщений.

Вот пример: ( скопирован и изменен из вашего кода )

 $postid = get_the_ID(); $kids = array( 'posts_per_page' => -1, 'post_type' => 'courses', 'post_parent' => $postid ); $children = get_posts( $kids ); if ( $children ) { echo '<ul>'; foreach( $children as $child ) { $childid = $child->ID; $coursetitle = get_the_title( $childid ); $grandkids = get_posts( array( 'posts_per_page' => -1, 'fields' => 'ids', // Only get post id's, much faster 'post_type' => 'courses', 'post_parent' => $childid ) ); $grandchildren = count( $grandkids ); echo '<li>'; echo $coursetitle; echo $grandchildren . 'courses available'; echo '</li>'; } } 

Если это не сработает, скорее всего, у вас есть что-то интуитивное с вашим запросом, возможно, что-то плохое действие pre_get_posts . Чтобы проверить это, добавьте remove_all_actions( 'pre_get_posts' ); перед вашим запросом.

Вы также можете просмотреть get_pages() для запуска своих запросов, которые не будут изменены обычными фильтрами и действиями WP_Query