デザイン事務所ダウンアンダー

WordPressで最上位の親ページスラッグを取得する。

 固定ページを階層化し、最上位の親ページのスラッグによってヘッダ画像等を切り替えたい場合の対処メモ。

$slugに、親ページが無ければ自分自身の、親ページがあれば最上位のページのスラッグを代入します。

forループの方が良いと思うけれど、ループの終了条件がなぜかうまく動作せず。

  • <?php
  • $page = get_page(get_the_ID()); //ページを取得。
  • $slug = $page->post_name; //ページスラッグ取得。
  • //WordPressで最上位の親ページスラッグを取得する。
  • $parent = get_post_ancestors( $post->ID ); //$parentに親ページの配列を代入。
  • $i = 0;
  • while ($parent[$i]) {
  • $parentID = get_post($parent[$i]);
  • $i++; //0、1、2と、親の親を辿っていく。一番大きな数字が最上位の親。
  • }
  • if($parentID) { //親ページのIDがあれば・・・
  • $slug = $parentID->post_name; //$slugを最上位の親ページのスラッグで書き換え。
  • }
  • ?>

ancestorsはサブメニュー等、いろいろなところでキーワードとして役立ちますね。

 

この記事は2014/06/11に公開され、194 views読まれました。

     技術ノート   

最近1ヶ月で人気の記事

WordPressで最上位の親ページスラッグを取得する。 - デザイン事務所ダウンアンダー 東京都練馬区。Wordpressはおまかせ。ホームページ・印刷など販売促進のためのデザインを提案します。

Copyright©デザイン事務所ダウンアンダー, All Rights Reserved.