WordPressで全ページのリストを表示する方法


方法1: カスタム関数を使用する方法 まず、functions.phpファイルに以下のコードを追加します。

function display_all_pages() {
    $args = array(
        'post_type' => 'page',
        'posts_per_page' => -1
    );
    $pages = get_posts($args);
    if ($pages) {
        echo '<ul>';
        foreach ($pages as $page) {
            echo '<li><a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a></li>';
        }
        echo '</ul>';
    }
}

この関数は、すべてのページを取得し、リンク付きのリストとして表示します。次に、任意のテンプレートファイルで関数を呼び出して表示します。

<?php display_all_pages(); ?>

方法2: ショートコードを使用する方法 functions.phpファイルに以下のコードを追加します。

function display_all_pages_shortcode() {
    ob_start();
    $args = array(
        'post_type' => 'page',
        'posts_per_page' => -1
    );
    $pages = get_posts($args);
    if ($pages) {
        echo '<ul>';
        foreach ($pages as $page) {
            echo '<li><a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a></li>';
        }
        echo '</ul>';
    }
    return ob_get_clean();
}
add_shortcode('all_pages', 'display_all_pages_shortcode');

これにより、ショートコード [all_pages] を投稿またはページのコンテンツ内に挿入するだけで、全ページのリストが表示されます。

方法3: プラグインを使用する方法 WordPressには、ページリストを表示するためのプラグインもあります。例として、「Page-list」プラグインをご紹介します。以下の手順で使用できます。

  • プラグインをダウンロードしてインストールします。
  • プラグインを有効化します。
  • 「設定」→「Page-list」に移動し、表示オプションを設定します。
  • [pagelist] ショートコードを投稿またはページのコンテンツ内に挿入します。