【WordPress】固定ページ(子ページ)の親ページのタイトルとURLを取得する方法

公開日:
更新日:
カテゴリー: WordPress

固定ページでは、親ページを作成し、その下に子ページを作成できます。パンくずリストなどの階層構造を表現するときなど、子ページに親ページのタイトルとURLを表示させたい時が多々あります。

その場合、

get_the_title($post->post_parent);
get_page_link($post->post_parent);

で親ページのタイトルとURLを取得できます。以下詳細。

1.「$post->post_parent」で親ページのIDが取得できる

まず、固定ページにて、親ページと子ページを作成してください。そして固定ページテンプレート(page.php)のどこかに、以下のコードを貼り付けてみてください。

<!--?php echo $post--->post_parent; ?>


 

そして子ページにアクセスすると、「35」みたいな番号が出力されると思います。それはその子ページの親ページIDです。

2.「get_the_title()」と「get_page_link()」

目的とするページのIDが取得できればあとは簡単です。タイトルを取得する関数「get_the_title()」と固定ページのURLを取得する関数「get_page_link()」を使うだけです。

すなわち、以下のようにしてあげると、親ページのタイトルとURLを取得できます。

<!--?php 
echo get_the_title($post->post_parent);
echo get_page_link($post->post_parent);
?-->


3.親ページを持たない固定ページについて

親ページを持たない固定ページで

<!--?php echo $post--->post_parent; ?>


が実行されると、「0(ゼロ)」が出力されます。そのため親ページを持たない固定ページで以下を実行すると、そのページのタイトルとURLが出力されます(「get_the_title()」と「get_page_link()」の両関数とも引数が0のときは現在ページが参照されます)。

<!--?php 
echo get_the_title($post->post_parent);
echo get_page_link($post->post_parent);
?-->


親ページを持たない固定ページで余計なものを出力させたくない場合は、「if」で条件分岐してあげると良いと思います。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント