2012-04-21 13 views
0

サイドバーのウィジェットとして、現在のナビゲーションセクションの親、子、孫ページのページリストを使用します。子ページのときは親ページはウィジェットのタイトルとして正しく表示されますが、孫ページのウィジェットのタイトルが子ページのタイトルに変更されたときは、親ページは正しく表示されます。事前にウィジェットタイトルの親/祖父母ページタイトル

php global $post; $thispage = $post->ID; 
php $parent_title = get_the_title($post->post_parent); echo $parent_title; 

ありがとう:関係なく、私は戻って、ルート親に取得しようとしたものの、結果は常にこれを使用するのと同じです。

答えて

0

UPDATE:だから、私は先に行って、車輪を再発明してきたようだ(ひどく、私が追加される場合があります)Wordpressのは、すでに彼らのフレームワークに組み込まれたGet Ancestors機能を持っています。それを利用することは、あなたが得ることができるほど簡単です。これは、あなたが欲しいものを行う必要があります。私は答えを見つけた

if($ancestors = array_reverse(get_ancestors(get_the_ID(), 'page'))) 
    echo get_the_title($ancestors[0]); 
else 
    echo get_the_title(get_the_ID()); 
+0

こんにちは - おかげで、このために。これは子ページでは機能しますが、孫ページではサイドバーウィジェットメニューが表示されません。そのレベルの親は表示されません。 –

1

、少なくとも私の目的のために:

php echo get_page(array_pop(get_post_ancestors($post->ID)))->post_title; 
+0

ええ、私はget_ancestors関数がはるか遅すぎることを発見しました。これがあなたのために働くならば、これを答えとしてマークしてください。申し訳ありませんが、私はあなたが時間通りに必要な答えを得ることができませんでした。 – maiorano84

関連する問題