HTMLのbodyタグを下記のように記述
<body <?php body_class(); ?>>
下記コードはfunctions.phpに追加
bodyに任意のclass名を追加する
(my_class_names)の部分は任意の名称
(class-name)に任意のクラス名
// Add specific CSS class by filter add_filter('body_class','my_class_names'); function my_class_names($classes) { // add 'class-name' to the $classes array $classes[] = 'class-name'; // return the $classes array return $classes; }
bodyとpost classに(カテゴリー名)(ポストクラス名)をclass名として追加する
// add category nicenames in body and post class function category_id_class($classes) { global $post; foreach((get_the_category($post->ID)) as $category) $classes[] = $category->category_nicename; return $classes; } add_filter('post_class', 'category_id_class'); add_filter('body_class', 'category_id_class');
sidebar.phpファイルが表示されている場合にのみ、bodyにクラスを追加する
add_action('wp_head', create_function("",'ob_start();') ); add_action('get_sidebar', 'my_sidebar_class'); add_action('wp_footer', 'my_sidebar_class_replace'); function my_sidebar_class($name=''){ static $class="withsidebar"; if(!empty($name))$class.=" sidebar-{$name}"; my_sidebar_class_replace($class); } function my_sidebar_class_replace($c=''){ static $class=''; if(!empty($c)) $class=$c; else { echo str_replace('<body class="','<body class="'.$class.' ',ob_get_clean()); ob_start(); } }