子ページで親ページの情報を取得したい
wordpressの固定ページに親子関係がある場合、子ページで親ページの各種情報を取得したい場合があります。例えば、親ページへのリンクを自動的に表示させたい場合などですね。
ちょっと手間取りましたが、情報を取得できるようになりました。
親ページの情報を取得する方法をいくつか紹介していきます。
今回ご紹介するコードは、直上の親ページの情報を取得するコードです。
固定ページが三階層になっている場合、孫ページで一番上の親ページの情報は取得できません。
孫ページの場合は、直上のページ(三階層の子ページ)の情報が取得されます
親ページの主立った情報を取得するコードを以下にご紹介します。
親ページのURLを取得するコード
<?php echo get_page_link($post->post_parent); ?>
親ページのURLを取得するコードです。
親ページのタイトルを取得するコード
<?php echo get_post($post->post_parent)->post_title; ?>
親ページのタイトルを取得するコードです。
親ページのスラッグを取得するコード
?php echo get_post($post->post_parent)->post_name; ?>
親ページのスラッグを取得するためのコードです。
親ページのURLが【https://ドメイン/○○○○】の時【○○○○】の部分を取得します。
親ページの作成日を取得するコード
<?php echo get_post($post->post_parent)->post_date; ?>
親ページの作成日を取得するコードです。
【○○/○○/○○ ○○:○○:○○】形式で取得できます。
親ページの抜粋を取得するコード
<?php echo get_post($post->post_parent)->post_excerpt; ?>
親ページの抜粋を取得するコードです。
固定ページで抜粋を利用しており、抜粋に値がある場合のみ取得できます。
親ページの本文を取得するコード
?php echo get_post($post->post_parent)->post_content; ?>
親ページの本文を取得するコードです。
利用する機会はあまりないかもしれません。
親ページのステータスを取得するコード
<?php echo get_post($post->post_parent)->post_status; ?>
親ページのステータスを取得するコードです。
公開済みなら【publish】といった値を取得できます。
親ページの投稿者IDを取得するコード
<?php echo get_post($post->post_parent)->post_author; ?>
親ページを投稿したユーザーのIDを取得します。
まとめ
WordPressの子ページで親ページの各種情報を取得する方法をご紹介しました。
親IDを取得して【get_post】で親ページの各種情報を取得することができます。
最初はやり方が分からず、5時間ぐらい悩んでしまいました。
同じように悩んでいる方の助けになれば幸いです。
コメントを残す