Written by Kasumi

【簡単】固定ページで親ページがあるか条件分岐、親ページの情報を子ページで取得する方法【wordpress】

wordpressでサイトを運用している。

現状開いてるページが親子階層のある固定ページかどうかを条件分岐したい。

親ページの情報を子ページで取得したい。

本記事ではこのような悩みを解決します。

親子階層の有無を条件分岐するコード

<?php 
  //現在の投稿ページ情報を取得
  global $post;
//現在の投稿ページに親ページがあるか条件分岐
  if(is_page() && $post->post_parent){
//親ページがあったら
}else{
//親ページが無かったら
}
 ?>

上記コードで現在のページが親子階層であるか判断し、条件分岐出来ます。

global $post;で現在の投稿ページ情報を取得。

上記$postからpost_parentプロパティを使って親ページのIDを取得します。

if文を使って、固定ページで且つ親ページのIDがあったらという条件式を立てれば親子階層の有無を判断できます。

親ページのタイトルを取得しよう

  //現在の投稿ページ情報を取得
 global $post;
//親ページのID取得
$parent_id = $post->post_parent; 
//親ページタイトル
$parent_title = get_post($parent_id)->post_title;
//現在の投稿ページに親ページがあるか条件分岐
  if(is_page() && $parent_id){
//親ページがあったら
echo $parent_title;
}else{
//親ページが無かったら
}

最後に前章のコードと組み合わせて親ページが有ったら親のページタイトルを取得したいと思います。

get_post関数に親ページのIDを指定、post_titleプロパティを使えば取得できます。

以上の方法で解決です。

まとめ

グローバル変数の$postとget_post関数を組み合わせれば簡単に投稿ページのデータを取得できるので便利ですね。

以上で解説を終わります。

目次

関連記事

HTMLCSS プログラミング

html・CSSでテキスト文章を縦書きにする方法

2021.12.22
719
WordPress

【WordPress】指定した投稿記事の日付を取得する方法

2023.08.21
469
WordPress

【WordPress】カテゴリ一覧で記事数を取得する方法

2022.05.31
2706
WordPress

【WordPress】カスタマイズ可能な年別アーカイブリストを表示する方法

2022.07.19
5541