プログラミング

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

下層ページにbodyタグにスラッグ名のclassを付与すると、CSS設計が非常に楽になります。以下を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()等に変更すれば、任意の固定ページやアーカイブページへ適用することもできます。

ABOUT ME
マッチ
マッチ
サラリーマンをしながら筋トレブログを2020年1月より運営。 体型に自信が持てないあなたへ、筋トレの魅力を発信中。 趣味はアジア旅で訪問国は20カ国以上。