以前書いた記事WordPressの body_class()にページスラッグをの発展型です。
functions.phpに以下を追加。
[sourcecode language=’php’]
function pagename_class($classes = ”) {
if (is_page()) {
$page = get_post(get_the_ID());
$classes[] = ‘page-‘ . $page->post_name;
if ($page->post_parent) {
$classes[] = ‘page-‘ . get_page_uri($page->post_parent) . ‘-child’;
}
}
return $classes;
}
add_filter(‘body_class’, ‘pagename_class’);
[/sourcecode]
6行目 get_page()がdeprecatedになっていたのでget_post()に変更しました
これで、<body>タグに
ページスラッグのclass
.page-[pagename]
と、親ページを持つ場合は
その親ページスラッグのコページであることを示すclass
.page-[parent-pagename]-chid
が追加され、ページ投稿でのデザインの振り分けが自由自在になりそうです。