便利!WordPress下層ページのbodyタグにスラッグ名のclassを付与する【WordPressカスタマイズ】

こんにちは!Weblattです。

今日は、下層ページにbodyタグにスラッグ名のclassを付与する方法をご紹介します。

bodyタグにスラッグ名のclassをつけることで、CSS設計が非常に楽になります。

bodybody_class()が記述されている状態で、以下をfunctions.phpに記述します。

function pagename_class($classes = ''){
  if ( !(is_home() || is_front_page())) {
    $page = get_post();
    $classes[] = $page->post_name; //スラッグ名取得
  }
  return $classes;
}
add_filter('body_class', 'pagename_class');

これで、トップページ以外のページでは、スラッグ 名のclassが付与されるようになりました。

スラッグ名だけでなく、$page->post_name;の部分を特定のclass名に返納することで、任意のclass名を付与することができます。

!(is_home() || is_front_page())は、「トップページもしくはfront-pageのいずれでもない時」という意味です。この部分をis_archive(),is_page(),is_single()等に変更すれば、任意の固定ページやアーカイブページへ適用することもできます。

皆さんもやってみてください。それでは!

目次
閉じる