WordPressで特定の親ページの配下にある子ページかどうかを判別する方法をご紹介いたします。
例えば、aboutという親ページの配下にある子ページにのみ、aboutに関する内容を表示したい、といった時に役立ちます。
特定の親ページの配下にある子ページかどうかを判別する方法
まず、適用しているテーマのfunctions.phpに以下を追記します。
function is_parent_name() {
global $post;
if ($post->post_parent) {
$post_data = get_post($post->post_parent);
return $post_data->post_name;
}
}
子ページを判別したい箇所に、以下のようなコードを記述します。「about」の部分は、親ページのスラッグを指定してください。
<?php if(is_parent_name() === 'about'): ?>
aboutの配下だった場合の内容
<?php else: ?>
aboutの配下ではない場合の内容
<?php endif; ?>
あとがき
特定の親ページの配下にある子ページに、共通のパーツを表示するといったことは結構あるあるだと思うので、覚えておくと役立ちますね。
単純に、親ページなのか子ページなのかを判別したい時は、「WordPressで閲覧している固定ページが親・子・孫ページのいずれかを判別する方法」をご参照ください。