【簡単】固定ページで親ページがあるか条件分岐、親ページの情報を子ページで取得する方法【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関数を組み合わせれば簡単に投稿ページのデータを取得できるので便利ですね。

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

Ads

関連記事

WordPress

WordPressで続きを読む・もっと見るボタンを実装する方法

2022.07.02
22
JavaScript プログラミング

【簡単】JavaScriptを使って任意の文字列を置換する方法

2022.04.05
21
JavaScript プログラミング

jQueryで画像読み込み完了後にイベントを実行する方法

2022.04.26
106
WordPress プログラミング

【簡単】contact form 7に郵便番号から住所自動入力機能を入れる方法

2022.02.07
394