WordPressにはbody_class()という関数があり、以下のように記述することでbody要素に開いているページに関したクラスを追加することができます。
<body <?php body_class(); ?>>
例えば、トップページを参照中であればhomeというクラスが、投稿を参照中であればsingleやsingle-postなどのクラスが追加されます。
このbody_class()に、開いているページのスラッグを追加する方法が、NxWorldさんで解説されていたので紹介したいと思います。
WordPressで開いているページのスラッグをbody_class()にクラスとして追加する方法
利用しているテーマのfunctions.phpに以下を追加します。
add_filter( 'body_class', 'add_page_slug_class_name' ); function add_page_slug_class_name( $classes ) { if ( is_page() ) { $page = get_post( get_the_ID() ); $classes[] = $page->post_name; } return $classes; }
そのままコピペでOKです。
上記コードを追加することで、body要素にスラッグのクラスが追加されます。
あとがき
body_class()には、元々「postid-記事ID」というクラスが追加されているので、記事毎に識別することは可能なのですが、記事IDよりもスラッグの方がわかりやすいですね。
なお、NxWorldさんの記事では、親ページのスラッグを用いた方法も解説されています。