WordPress:固定ページの最上親ページのいろいろを取得

親、子、孫階層になっている固定ページで最上階層の親ページのID、スラッグ、タイトルを取得したい。

まずfunctions.phpに以下を追記

function get_root_page( $cur_post, $cnt = 0 ) {
 if ( $cnt > 100 ) { return false; }
 $cnt++;
 if ( $cur_post->post_parent == 0 ) {
 $root_page = $cur_post;
 } else {
 $root_page = get_root_page( get_post( $cur_post->post_parent ), $cnt );
 }
 return $root_page;
 }

page.php

$root_page = get_root_page( $post ); // 最上親ページを取得
 $root_slug = $root_page->post_name; // 最上親ページのスラッグを取得
 $root_id = $root_page->ID; // 最上親ページのIDを取得
 $root_title = get_post($root_id)->post_title; // 最上親ページのタイトルを取得

 echo $root_id;
 echo $root_slug;
 echo $root_title;

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください