WordPressのPageに対する条件分岐が、非常に弱い。
例えば、特定の親Pageにぶら下がる子Pageに対して条件をかけたい。
Pageに対する条件分岐テンプレートタグは <?php if (is_page( PageのID/タイトル/スラッグ )):?> 〜 <?php endif; ?>
しかなく、Page全てか、特定のPageにしか条件をかけられない。
そこで、下記の2つのファイルを修正することで「特定の親Pageにぶら下がる子Pageに対して条件をかける事が出来る」
● wordpress/wp-includes/post-template.php
このphpに下記のソースを追加する
function thePostParent(){
global $post;
return $post->post_parent;
}
※thePostParent()は、そのPageの親PageのIDを持っている
● wordpress/wp-content/themes/*****/page.php
このphpは、Page表示用のphpで、下記のようにソースを追加する
<?php if (thePostParent() == 1){?>
<p>PageIDが1のPageにぶら下がる子Pageにこの一文がひょうじされる(サンプル)</p>
<?php
}else if (thePostParent() == 23){?>
<p>PageIDが23のPageにぶら下がる子Pageにこの一文がひょうじされる(サンプル)</p>
<?php
}
?>