Отображение списка всех страниц в WordPress: методы и примеры кода

Чтобы отобразить список всех страниц WordPress, вы можете использовать несколько методов. Вот четыре распространенных подхода и примеры кода:

  1. Использование функции wp_list_pages():

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

    Этот метод использует функцию wp_list_pages(), которая генерирует неупорядоченный список (<ul>) всех страниц. Он принимает массив аргументов, в котором вы можете указать дополнительные параметры, такие как тип сообщения и стиль списка.

  2. Использование специального запроса:

    <ul>
    <?php
    $pages_query = new WP_Query(array(
        'post_type' => 'page',
        'posts_per_page' => -1,
    ));
    while ($pages_query->have_posts()) {
        $pages_query->the_post();
        ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php
    }
    wp_reset_postdata();
    ?>
    </ul>

    Этот метод использует специальный запрос с WP_Queryдля получения всех страниц. Затем он просматривает результаты запроса и отображает заголовок и постоянную ссылку для каждой страницы.

  3. Использование короткого кода.
    Вы можете создать собственный короткий код, который будет получать и отображать все страницы. Добавьте следующий код в файл functions.phpвашей темы:

    function all_pages_shortcode() {
    $pages = get_pages();
    $output = '<ul>';
    foreach ($pages as $page) {
        $output .= '<li><a href="' . get_permalink($page->ID) . '">' . $page->post_title . '</a></li>';
    }
    $output .= '</ul>';
    return $output;
    }
    add_shortcode('all_pages', 'all_pages_shortcode');

    После добавления этого кода вы можете использовать короткий код [all_pages]в редакторе WordPress для отображения списка всех страниц.

  4. Использование плагина.
    Если вы предпочитаете более удобный подход, вы можете использовать плагин, например «Список всех страниц». После установки и активации плагин предоставляет короткий код [list_all_pages], который можно использовать для отображения списка всех страниц.