WordPressテーマのheader.phpあたりにある
[sourcecode language=’php’]
こと細かにclassが出力されるので便利だけど、pegeの内容ごとにデザインを変えたい場合、デフォルトだとpageのslugが出てこないので不便です。
そこでcodexのbody_class()をみると、簡単に拡張できる仕様になっていることが分かりました。なので例えばこんなかんじにすればもっと助かります。
[sourcecode language=’php’] post_name;
body_class(“page-” . $slug);
} else {
body_class();
}
?>>[/sourcecode]
ほかにも条件分岐によってかなり柔軟なclass割り当てができますね。
2013/6/27追記
このような記事を見つけました。こちらのほうがずっとスマートですね。
functions.phpに以下を追加します。
[sourcecode language=’php’]function pagename_class($classes = ”) {
if (is_page()) {
$page = get_page(get_the_ID());
$classes[] = $page->post_name;
}
return $classes;
}
add_filter(‘body_class’,’pagename_class’);[/sourcecode]
2014/3/16追記
親ページについても表示できるように、この記事をさらに実用的にしました。
→ WordPressの body_class()にページスラッグの決定版
“WordPressの body_class()にページスラッグを” への1件の返信