Intereting Posts
Установите дату истечения срока действия сообщения из Frontend с помощью wp_insert_post Как отключить подключенный к сети плагин только для одного сайта? Какие неожиданные данные могут храниться в таблице терминов и связанных таблицах? Разрешить пользователю доступ только к панели мониторинга! Разрешение проигрывателя SoundCloud в выдержке после публикации Как создать персонализированный тип сообщения, который содержит другой настраиваемый тип сообщения? Пользовательский jquery не код не работает в WordPress Запретить сохранение сообщения без предоставления заголовка Как уведомить администратора о том, что произошло во время работы cron Как выполнять поиск пользователей по всему миру на основе многоуровневой установки? Добавление труб в вывод меню Переопределить текущую настройку темы в wp_config.php навигация с wp_list_pages выводит вложенный список, изображающий иерархию Добавление кнопок в wp-admin / edit-comments Exceprt не отображается

Как создать иерархический список всех страниц и дочерних страниц с помощью обычного запроса?

Я пытаюсь запросить все страницы (только название), чтобы сгенерировать структуру ul / li-tree, используя обычный запрос:

// The Query $query = new WP_Query( $args ); // The Loop if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); ?> <li><?php the_title(); ?></li> <?php } } else { // no posts found } 

Можно ли определить уровень текущей страницы / сообщения и есть ли у нее родитель или нет? Я просто хочу, чтобы он выводил что-то вроде этого:

 <ul> <li>Parent 1<ul> <li>Child 1-1</li> <li>Child 1-2</li> </ul></li> <li>Parent 2</li> <li>Parent 3</li> </ul> 

Solutions Collecting From Web of "Как создать иерархический список всех страниц и дочерних страниц с помощью обычного запроса?"

wp_list_pages() этого вы можете использовать wp_list_pages() . Просто передайте свой тип сообщения, если вы пытаетесь перечислить что-то другое, кроме страниц страницы:

 <ul> <?php wp_list_pages(array( 'post_type' => 'yourposttype', 'title_li' => '' ) ); ?> </ul> 

Если вы хотите отобразить это на всех типах сообщений, вы можете использовать

 <ul> <?php wp_list_pages(array( 'post_type' => $post->post_type, 'title_li' => '' ) ); ?> </ul> 

который автоматически захватывает тип сообщения текущего просматриваемого элемента и отображает полное дерево для этого типа сообщения.