> Wordpress > Wordpressで全ての親ページの情報を取得する方法
Wordpressで全ての親ページの情報を取得する方法

Wordpressで全ての親ページの情報を取得する方法

Wordpressでサイトを構築するとき、階層が深いサイトの場合に活用できそうな関数をご紹介します。

全ての親ページの投稿内容をオブジェクトで取得する方法

function.phpに下記のように記載してください。

function.php記述例

    //全ての親ページをobjectで取得
        function get_parent_posts($post_id) {
            $post = get_post($post_id);
            if(empty($post_id) or $post->post_parent == '0') {
                return false;
            }
            while ($post_id){
                $post = get_post($post->post_parent);
                $result[] = $post;
                $post_id = $post->post_parent;
            }
            $result = array_reverse( $result );
            return $result;
        }

例:全ての親ページのタイトルを取得して表示する方法

テーマ内で使用する時は、テンプレートに

    $page_parents = get_parent_posts($post->ID);
    if ($page_parents){
        echo '<ul>';
        foreach ($page_parents as $page) {
            echo '<li>'.$page->post_title.'</li>';
        }
        echo '</ul>';
    }

のように記載すればOKです。

全ての親ページのIDを配列で取得する方法

すべての親ページのIDがあれば足りる場合は、IDを配列で取得できる下記の関数を使っても便利です。

Wordpress関数リファレンス|get_post_ancestors()

この記事が気に入ったらシェアしてください

関連記事

Wordpressのカスタム投稿タイプで一覧・詳細画面を作らない方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Comment Form

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