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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください