WordPressで特定のカテゴリーの記事に独自のクラスを付ける

WordPressの特徴を活かし、出来る限りのページカスタマイズはプラグインだけ済ませたいと思って取り組んできたが、遂にPHPに手を入れることになってしまった。その理由としては、「特定のカテゴリーの記事だけを別の背景色に変更したかった」のだが、今のままでは個別の投稿にはカテゴリーのクラスが付与されておらず、function.phpに手を入れて対応することにした。

function first_body_classes( $classes ) {

	/* カテゴリーを判断して独自のクラスを付与する */
	if(in_category('Sanfrecce')){
		$classes[] = 'category-sanfrecce';
	}

	return $classes;
}

もともとこのテーマ用にbody_cassを追加するためのfunctionが用意されていたため、そこに上記の判断文を加えてクラスを追加するようにした。また、このテーマに付属しているカスタムCSSを使って以下のように記述することで、無事、カテゴリーが”Sanfrecce”の記事だけ背景色をバイオレットに変えることに成功した。

body.category-sanfrecce {
	background-color: #453290 !important;
}
body.category-sanfrecce .site-header  {
	background-color: #453290 !important;
}

↓↓↓この変更のために参考にしたのは、こちらのサイト!↓↓↓

body_class を使ってページごとに違う表示をする