例えば投稿タイプ「works」のアーカイブページではbodyタグに「post-type-archive-works」が付与されるので、以下のようにCSSを書けます。
.post-type-archive-works .site-main {
padding: 30px;
}
投稿タイプにはカスタム分類を追加することが多いので、カスタム分類アーカイブもCSSを追加する場合はセレクタに複数のクラス入れます。
.post-type-archive-works .site-main,
.tax-works_cat .site-main {
padding: 30px;
}
一箇所ならすぐに作業が終わりますが、毎回この記述をするのは非効率に思います。こういう場合は共通のクラスをbodyタグに付与するようにします。
共通のBody Classを付与する
以下をfunctions.phpに記述します。
function works_body_class( $classes ) {
// works投稿タイプか、worksカテゴリの場合
if ( is_post_type_archive( 'works' ) || is_tax( 'works_cat' ) ) {
// bodyに専用クラスを付与
$classes[] = 'works-archive';
}
return $classes;
}
add_filter( 'body_class', 'works_body_class' );
こうするとCSSを簡素化できます。
.works-archive .site-main {
padding: 30px;
}
目新しくはありませんが、1つ思いついたのでメモでした。