Intereting Posts
Как сделать в столбце сортировки adminboard панели администратора для настраиваемого поля, которое подсчитывает количество показов страниц? Можно ли поместить функцию где-то, кроме файла functions.php? Как изменить порядок сообщений в админ? Создание пользовательских типов записей и таксономических архивов и симпатичных URL-адресов Добавление CPT изменяет всю компоновку моего сайта, за исключением архива того CPT Заказ по нескольким мета-ключам и метазначению Как я буду доказывать свою прежнюю тему WordPress? Перенаправление категории WordPress в новый домен Резервный кэш пользователя Multisite, не может видеть суб блоги Как создать выделенную папку для определенной роли через регистрацию Заменить видеоролик с помощью видеоплеера Настройки по умолчанию для плагина объяснение по электронной почте для новичков Как обслуживать статический контент в том же домене, что и WordPress

При перечислении дочерних страниц заканчивается память

В настоящее время у меня проблема с памятью, когда мой сайт пытается создать дерево дочерних страниц. к моему пониманию, запрос слишком велик (WP имеет 60000 страниц)

следующий код, который я использую

?php global $post; wp_list_pages( array( 'child_of' => $post->ID, // Only pages that are children of the current page 'depth' => 1 , // Only show one level of hierarchy 'sort_order' => 'asc', 'title_li' =>$post->post_title )); ?> 

Есть ли какие-либо дополнительные аргументы, которые я могу добавить, чтобы сделать запрос меньше или есть лучший способ отображения списка дочерних страниц?

Заранее спасибо.

WP_Query имеет Pagination_Parameters , такие как posts_per_page и offset чтобы помочь вам. Просто распечатайте результаты, чтобы ограничить запрос более разумным числом на страницу.

Я не вижу ошибок в коде, может быть, вы должны проверить, можете ли вы получить правильный идентификатор сообщения через $post->ID , иногда какой-то код до того, как ваш изменил объект post post, потому что вы не можете его получить и wp_list_pages() отобразит все страницы.

Чтобы сократить время выполнения, я закончил использование WP_Query, как это было предложено jgraup

код для генерации списка детей ниже

 <?php global $post; echo '<p>'. get_the_title().'</p>'; // current post title $query = new WP_Query( array( 'post_type' => 'page', 'post_parent' => $post->ID,'order' => 'ASC') ); // find all pages with parentId of current page id if ( $query->have_posts() ) { echo '<ul>'; while ( $query->have_posts() ) {//loop through results $query->the_post(); echo '<li><a href='. get_page_link($post->ID) .'>' . get_the_title() . '</a></li>';//li with link to the page } echo '</ul>'; /* Restore original Post Data */ wp_reset_postdata(); } else { // no posts found } ?>