固定ページで階層を持っている場合に一番上の親の情報を取得するコードをご紹介します。
今回は簡単にコードのみのご紹介になりますので、時短したい方はサクッとコピーして使ってみてください。
目次
基本コード
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;
}
上記のコードをfunctions.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;
まとめ
今回は簡単にコードのみのご紹介になりましたが、興味のある方はぜひコードを1行ずつでも紐解いてみてください。
ではまた!
当記事で紹介、及び記載している内容は個人的考えに基づいております。
責任は負いかねますので、お試しの際は必ずバックアップを取った上で自己責任のもと実行してください。