【WordPress】固定ページ(子ページ)の親ページのタイトルとURLを取得する方法
固定ページでは、親ページを作成し、その下に子ページを作成できます。パンくずリストなどの階層構造を表現するときなど、子ページに親ページのタイトルと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」で条件分岐してあげると良いと思います。
あわせて読んでほしい!
コメント
まだコメントはありません。