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

最近、あるユーザーから、WordPressページの子ページを表示する方法について質問がありました。多くの場合、子ページのあるページがあるサイトで作業するときは、子ページを親ページのサイドバーウィジェットまたはテンプレートの別の場所に表示することができます。この記事では、WordPressで親ページの子ページのリストを表示する方法を示します.


親ページ上の子ページのリストの例を確認するには、OptinMonsterの「仕組み」ページにある以下のスクリーンショットを参照してください。これは、WPBeginnerのBlueprintページでも使用されています。.

子ページのリストを含む親ページ

始める前に、チャイルドページに慣れていない方は、WordPressの投稿とページの違いに関するガイドをご覧ください。ページの重要な機能の1つは、階層化できることです。これは、ページが親ページになり、その下に子ページ(つまりサブページ)を持つことができることを意味します。これにより、1つの親ページの下にさまざまなページをグループ化できます。たとえば、Webサイトに製品ページがある場合、機能、価格、サポートなどのページを子ページとして追加できます。各子ページは、独自の子ページを持つこともできます.

ビデオチュートリアル

WPBeginnerを購読

ビデオが気に入らない、またはさらに説明が必要な場合は、読み続けてください.

子ページを作成するには、通常どおりにWordPressでページを作成または編集します。 [ページ属性]メタボックスの下で、ドロップダウンメニューから親ページを選択します.

WordPressで親ページを割り当てて子ページを作成する

注:[ページ属性]メニューが表示されない場合は、画面の右上隅にある[画面オプション]ボタンをクリックしてください。ページ属性がチェックされていることを確認する必要があるメニューが表示されます.

WordPressの親ページに子ページを表示する

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

function wpb_list_child_pages(){

グローバル$ post;

if(is_page() && $ post->post_parent)

$ childpages = wp_list_pages( ‘sort_column = menu_order&title_li =&child_of = ‘。 $ post->post_parent。 」&echo = 0 ‘);
そうしないと
$ childpages = wp_list_pages( ‘sort_column = menu_order&title_li =&child_of = ‘。 $ post->ID。 」&echo = 0 ‘);

if($ childpages){

$ string = ‘

    ‘。 $ childpages。 」

‘;
}

$ stringを返します。

}

add_shortcode( ‘wpb_childpages’、 ‘wpb_list_child_pages’);

上記のコードは最初に、ページに親があるかどうか、またはページ自体が親であるかどうかを確認します。親ページの場合は、関連付けられている子ページが表示されます。子ページの場合は、親ページの他のすべての子ページを表示します。最後に、これが子ページも親ページもないページの場合、コードは何もしません。コードの最後の行にショートコードを追加したので、ページテンプレートを変更せずに子ページを簡単に表示できます.

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

[wpb_childpages]

場合によっては、テーマがテキストウィジェットでショートコードを実行する準備ができていない可能性があります。動作しない場合は、WordPressサイドバーウィジェットでショートコードを使用する方法についてのこのチュートリアルを参照してください.

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

ショートコードの使用は便利ですが、ショートコードの使用に関する問題は、親または子ページを持つすべてのページにショートコードを追加する必要があることです。たくさんのページにショートコードができてしまうことがあり、時にはショートコードを追加するのを忘れることさえあるかもしれません.

より良い方法は、テーマのページテンプレートファイルを編集して、子ページを自動的に表示できるようにすることです。そのためには、メインのpage.phpテンプレートを編集するか、テーマにカスタムページテンプレートを作成する必要があります.

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

<?php wpb_list_child_pages(); ?>

それで全部です。テーマは自動的に子ページを検出して表示します.

独自の子ページを持つ多くの子ページを持つ親ページを使用している場合、WordPressの管理ビューが混乱する可能性があります。親とページを整理するより良い方法については、管理列ビューを使用してみてください.

この記事がWordPressの子ページのリストに役立つことを願っています。以下にコメントを残して、質問やフィードバックがある場合はお知らせください.

ソース:トーマスグリフィン

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me