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