最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

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

最近、読者の一人から、WordPress のページの子ページを表示する方法について質問がありました。これは WPBeginner でよく受ける質問であり、ウェブサイトのナビゲーションとユーザーエクスペリエンスを向上させる一般的なニーズを浮き彫りにしています。 

WordPressのウェブサイトを親ページと子ページで構成している場合、親ページに子ページまたはサブページを表示したい場合があります。これにより、ユーザーは特定のセクションで利用可能なすべての情報を簡単に確認でき、関連するサブトピックにすばやく移動できます。

また、簡単なブラウジングのために、各サブページにメインの親ページへのリンクを表示したい場合もあります。これにより、パンくずリストのような効果が生まれます。この合理化されたナビゲーションにより、ユーザーはサイトの奥深くに迷子になるのを防ぎ、全体的なブラウジング体験を向上させます。

この記事では、WordPressで親ページの子ページリストを簡単に表示する方法をご紹介します。

WordPressで親ページのすべての子ページリストを表示する

子ページリストを表示する必要があるのはいつですか?

WordPressには、投稿と固定ページという2つのデフォルトの投稿タイプが用意されています。投稿はブログコンテンツであり、通常はカテゴリーとタグで整理されます。

ページは、たとえば「会社概要」ページや「お問い合わせ」ページのような、一度きりのまたはスタンドアロンのコンテンツであり、エバーグリーンです。

WordPressでは、ページは階層構造にすることができ、親ページと子ページで整理できます。例えば、「製品」ページを作成し、その子ページとして「機能」、「価格」、「サポート」を作成したい場合があります。

子ページを作成するには、WordPressで子ページを作成する方法に関するガイドに従ってください。

親ページと子ページを作成したら、メインの親ページに子ページを一覧表示したい場合があります。

これを簡単に行うには、親ページを直接編集して、リンクのリストを追加します。

子ページリンクを手動で追加する

ただし、子ページを追加または削除するたびに、親ページを手動で編集する必要があります。

子ページを作成したら、それが自動的に親ページにリンクとして表示されるようになれば、もっと便利だと思いませんか?

それでは、WordPressの親ページに子ページのリストをすばやく表示する、その他の動的な方法をいくつか見てみましょう。3つの方法を紹介するので、あなたに最適なものを選ぶことができます。

方法1:プラグインを使用して親ページに子ページを表示する

この方法は、親ページに子ページを表示する最も簡単な方法であり、すべてのユーザーにおすすめです。

まず、Page-listプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法のステップバイステップガイドを参照してください。

有効化したら、親ページを編集し、子ページのリストを表示したい場所に次のショートコードを追加するだけです。

[サブページ]

これで、ページを保存し、新しいブラウザタブでプレビューできます。すべての子ページの単純な箇条書きリストが表示されることに気付くでしょう。

子ページリンクのプレーンリスト

必要に応じて、リストの外観を変更するためにカスタムCSSを追加することもできます。

以下は、開始点として使用できるCSSのサンプルです。

ul.page-list.subpages-page-list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

カスタムCSSを適用した後、親ページをプレビューできます。

これは、私たちのテストWordPressウェブサイトでの表示例です。

CSSによる子ページリスト

このプラグインは、深さ、除外するページ、アイテム数などを設定できる多くのショートコードパラメータを提供します。

詳細については、詳細なドキュメントについてはプラグインのページを参照してください。

方法 2. コードを使用して親ページの子ページを一覧表示する

この方法は少し高度で、WordPressウェブサイトにコードを追加する必要があります。これを行ったことがない場合は、WordPressでコードをコピー&ペーストする方法に関するガイドを参照してください。

親ページの下に子ページをリストするには、コードスニペットプラグインまたはテーマのfunctions.phpファイルに次のコードを追加する必要があります。

function wpb_list_child_pages() { 
 
global $post; 
 
if ( is_page() && $post->post_parent )
 
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
else
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );
 
if ( $childpages ) {
 
    $string = '<ul class="wpb_page_list">' . $childpages . '</ul>';
}
 
return $string;
 
}
 
add_shortcode('wpb_childpages', 'wpb_list_child_pages');

WPBeginnerでは、常にWPCodeプラグインを使用してWordPressにコードを追加することをお勧めしています。

WPCodeを使用すると、テーマファイルを編集せずにカスタムコードを簡単に追加できるため、サイトを壊す心配がありません。

WPCode

まず、無料のWPCodeプラグインをインストールして有効化する必要があります。ステップバイステップの説明については、WordPressプラグインのインストール方法に関するこのガイドを参照してください。

プラグインを有効化したら、WordPressダッシュボードから Code Snippets » Add Snippet に移動します。

そこから、「カスタムコードを追加(新規スニペット)」オプションにマウスカーソルを合わせ、「カスタムスニペットを追加」ボタンをクリックします。

WPCodeに新しいカスタムコードスニペットを追加

次に、画面に表示されるオプションのリストから、コードの種類として「PHPスニペット」を選択する必要があります。

コードの種類としてPHPスニペットを選択

次に、コードが何のためのものかを覚えるのに役立つ、スニペットのタイトルを追加します。

次に、上記のコードを「コードプレビュー」ボックスに貼り付けます。

コードをコードプレビューボックスに貼り付けます

その後、スイッチを「非アクティブ」から「アクティブ」に切り替え、「スニペットを保存」ボタンをクリックするだけです。

カスタムコードスニペットを有効化して保存する

このコードは、まずページに親があるかどうか、またはページ自体が親であるかどうかを確認します。

親ページの場合は、それに関連付けられた子ページが表示されます。子ページの場合は、親ページの子ページがすべて表示されます。

最後に、子ページも親ページもない単なるページの場合、コードは何も実行しません。コードの最後の行にショートコードを追加したので、ページテンプレートを変更せずに子ページを簡単に表示できます。

子ページを表示するには、ページまたはサイドバーのテキストウィジェットに次のショートコードを追加するだけです。

[wpb_childpages]

変更を保存し、ブラウザタブでプレビューすることを忘れないでください。テストサイトではこのように表示されます。

通常のリンクリスト

カスタムCSSを使用して、このページリストをスタイル設定できます。

開始点として使用できるサンプルCSSコードを次に示します。

ul.wpb_page_list {
    list-style: none;
    list-style-type: none;
    background-color: #eee;
    border: 1px solid #CCC;
    padding: 20px;
}

方法3. ショートコードなしで子ページを動的に表示する

ショートコードは便利ですが、問題は親ページまたは子ページを持つすべてのページにショートコードを追加する必要があることです。

多くのページにショートコードが表示され、追加し忘れることもあります。

より良いアプローチは、テーマのページテンプレートファイルを編集して、子ページを自動的に表示できるようにすることです。

これを行うには、メインのpage.phpテンプレートを編集するか、テーマにカスタムページテンプレートを作成する必要があります。

メインテーマを編集することはできますが、テーマを変更または更新するとこれらの変更は失われます。そのため、子テーマを作成してから子テーマで変更を行う方が良いでしょう。

ページテンプレートファイルで、子ページを表示したい場所にこのコード行を追加する必要があります。

<?php wpb_list_child_pages(); ?>

これで完了です。テーマは子ページを自動的に検出し、プレーンなリストで表示するようになります。

CSS とフォーマットでスタイルをカスタマイズできます。

これは、OptinMonsterウェブサイトが親ページとサブページをどのように表示するかの例です。

OptinMonster サブページ例

WordPressのページと投稿管理のための追加リソース

この記事が、WordPressで親ページの子ページを一覧表示する方法を理解するのに役立ったことを願っています。

WordPressのページや投稿の管理についてさらに詳しく知りたい場合は、これらのガイドも参照してください。

この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterFacebookでも私たちを見つけることができます。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

80 CommentsLeave a Reply

  1. こんにちは、これは機能しますが、親ページも表示されてしまいます。子ページのみを表示するにはどうすればよいですか?よろしくお願いします。

    • あなたが望んでいると思われることに対する最も簡単な方法は、親ページにコンテンツを持たず、子ページにのみコンテンツを持つことです。

      管理者

  2. こんにちは、Wpbeginnerさん、

    親ページで子ページをアルファベット順に並べ替えるにはどうすればよいですか?すべての手順に従いましたが、サブページが親ページにランダムに表示されます。

    返信をお待ちしております。…ありがとうございます。

    • コード内の menu_order の 2 つのインスタンスを post_title に変更します。

      管理者

  3. この関数にCSSクラスを割り当てることはできますか?そうすれば、ul要素のCSSを変更しても、サイト上の他のulに影響を与えずに済みます。
    または、これに対する他の簡単な解決策はありますか?

  4. WPBチーム様

    このスニペットとチュートリアルを本当にありがとうございます。

    それは私の時間を大幅に節約し、私を助けてくれました。

    敬具
    Keshav Murthy

  5. WordPress 4.9.8にプラグインコードスニペットをインストールしました

    https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond からコードをコピーし、コードスニペットの新しいスニペットに追加しました。

    ページを作成し、その後、最初のページを親ページとする属性を持つページを作成しました。

    子親の関係は、属性ドロップダウンのページリストに表示されます。

    親ページを開くと、子ページを示すものは何も表示されません。

    その後、functions.phpページを使用してみました。

    functionsページにコピーしたコードを、functionsページのコードの一番下に追加しました。https://www.wpbeginner.com/wp-tutorials/how-to-display-a-list-of-child-pages-for-a-parent-page-in-wordpress/#respond

    親ページを開くと、表示されません。予期しないコードが表示されるというエラーメッセージが表示されます。

    functions.phpページを元の状態に復元しました。

    試したことに対してどのような変更を加える必要がありますか?

    • こんにちは、ゲイリーさん、

      コードをテストする前に、子ページを発行したことを確認してください。また、数字や予期しない文字をコピーしていないことを確認するために、コードを再度慎重にコピーしてください。

      管理者

  6. 質問があります。親ページにサブページを追加しましたが、モバイルでサイトを開いて親ページをクリックすると、空の親ページが開きます。ドロップダウンのサブページを表示するには、親ページのボタンを長押しする必要があります。これを修正するにはどうすればよいですか。空のページが開くのは望ましくありません。親ページをタッチしたらドロップダウンメニューが開くようにしたいです。
    方法を提案してください。

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。