親、子、孫階層になっている固定ページで最上階層の親ページの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;
コメントを残す