こんにちは。タイトルが訳わかんなくなっちゃいましたが…WordPressのカスタム投稿の詳細ページ(single)ごとにCSSで調整をかけたいときがあったので、bodyのところに投稿のスラッグ名がclass名として付与されるようにfunctionsを編集していきます。
該当コードはこちら
functions.php
function add_custom_post_type_slug_to_body_class($classes) {
if (is_singular('●●●●')) {
global $post;
$post_type_slug = $post->post_name;
$classes[] = $post_type_slug;
}
return $classes;
}
add_filter('body_class', 'add_custom_post_type_slug_to_body_class');
●●●●のところにカスタム投稿タイプ名(英数字のやつ)を入れてください。
こうすることで、各カスタム投稿の個別詳細ページのbodyに、class名としてスラッグが付与されます。
目次
なぜこれをやろうとしたのか
お客様のサイトにLPというカスタム投稿タイプを設けて、そこにLP扱いにするページを投稿していく仕様にしたため。
LPは通常の固定ページと違い、凝ったデザインやレイアウトにしたり、個別にCSSを指定したい部分が多かったため、このようにしました。
どなたかの参考になれば幸いです。