固定ページの各ページ毎や、ある固定ページの子孫ページだけにスタイルシートを適用したい場合など

bodyタグにページスラッグが吐き出されてくれると便利

ところが、body_class()のパラメータとしてページスラッグは用意されていないんですね(;´∀`)

実はWordPress Codex のサイトにはちゃんと付いてるんですよね。『page-テンプレートタグ_body_class』みたいに。

じゃぁパラメータ用意してよ(笑)って感じではありますが、ないものは自分で用意しなければならないので

functions.phpに、以下のコードを書き込みます。

// bodyタグにページスラッグを追加 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');

すると

page-自ページスラッグ とか page-親ページスラッグ-chid のように吐き出されます