I'll be NET 】創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)

トップページ > Wordpress > ワードプレスで指定スラッグのページの子ページを一覧表示する方法

ワードプレスで指定スラッグのページの子ページを一覧表示する方法

Wordpressではページを階層分けできます。
指定のスラッグのページの子ページを一覧表示する方法を紹介します。

wp_list_pagesを利用する方法

テンプレートタグ「wp_list_pages」は固定ページへのリンクのリストを表示します。

<?php
    $page_ID = get_page_by_path('parent/this/child')->ID; //スラッグを入力
    $children = wp_list_pages('title_li=&child_of='.$page_ID.'&echo=0');
        if($children){
        echo '<ul>';
        echo $children;
        echo '</ul>';
    }
?>

1行目にスラッグを入力してください。
指定したいページに親ページがある場合、「親ページ/指定したいページ」のように親ページのスラッグを「/」で区切って入力してください。

get_postsを利用する方法

wp_list_pagesを利用する方法では単純にリストを生成するだけでしたが、ページタイトル・スラッグ・本文などページのその他の情報も表示させたい場合は、下記のようにします。

<?php
    $page_id = get_page_by_path("parent/this/child");//スラッグを指定

    $args = array(
        'post_parent' => $page_id,
        'post_type' => 'page',
        'order' => 'ASC',
        ); 
    $posts = get_posts($args);
    foreach($posts as $post) {
        $post_id = $post->ID; 
        $page_id = get_page($post_id);

        $html  = '';
        $html  = '<h3>' . the_title() . '</h3>';
        $html .= '<p>' . the_excerpt() . '</p>';
        $html .= '<a href="' . the_permalink() . '">続きを読む</a>';

        echo $html;
    };
?>

1行目にスラッグを入力してください。
指定したいページに親ページがある場合、「親ページ/指定したいページ」のように親ページのスラッグを「/」で区切って入力してください。

get_childrenを利用する方法

get_postsを利用する方法の他に、スラッグ・タイトルなどを表示したい場合は下記のようにもできます。

            <?php
                $page_id = get_page_by_path("parent/this/child");//スラッグを指定
                $page_id = $page_id->ID;

                $args = array(
                    'post_parent' => $service_id,
                    'post_status' => 'publish',
                    'post_type'   => 'page',
                    'order'       => 'ASC',
                    'orderby'     => 'menu_order'
                );
                $children_array = get_children( $args );
        
                if ( count( $children_array ) > 0 ) {
                    echo '<div>';
                    foreach ( $children_array as $child ) {
                        $url = get_permalink( $child->ID );
        
                        $html  = '<div class="' . $child->post_name . '">';
                        $html .= '<a href="' . esc_url( $url ) . '">';
                        $html .= '<h4>' . esc_html( $child->post_title ) . '</h4>';
                        $html .= '</a>';
                        $html .= '<p>' . esc_html( $child->post_content ) . '</p>';
                        $html .= '</div>';
        
                        echo $html;
                    }
                    echo '</div>';
                }
            ?>

1行目にスラッグを入力してください。
指定したいページに親ページがある場合、「親ページ/指定したいページ」のように親ページのスラッグを「/」で区切って入力してください。

Wordpressで固定ページを活用している場合、ぜひ上記の方法を使い分けてご使用ください。

記事移動

関連記事

ワードプレスでカスタム投稿タイプの新着記事一覧をターム付きで表示する方法

Comment Form

  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Restriction
Postkey
(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

創作サイトから中小企業まで東京都三鷹市で低価格高品質なホームページ制作(SOHO)【I'll be NET】

プロフィール

author:I'll be NET

since:2014.01.01

東京都を拠点としたSOHO(フリーランス)による創作サイト向けWEB制作サービスを行っています。 お仕事とか創作活動とかでメモっておきたいこととかを掲載しています。

more

Feed

Tagcloud