私はbody_class();
を使ってワードプレスサイトのさまざまなセクションをそのボディクラスでスタイルしています。ページスタイルは.page-template
から派生し、ブログスタイルは.single-post
および/または.blog
などから派生します。
私はサイトの商品セクションのためにカスタム投稿タイプ "Products"を作成し、そのボディクラスを使用してこのセクションを特別にスタイルしたいのですが、残念ながらbody_class();
はカスタム投稿タイプの単一ページにクラス.blog
を与えます。ブログスタイルの多くを商品スタイルよりも優先させることは、非常にイライラすることです。
私のカスタム投稿タイプの単一ページ用に "blog"クラスを削除する方法はありますか?
ありがとうございます。
body_class
フィルタを使用して、あなたがあなたのカスタム投稿タイプに属しているかどうかをチェックすることができます。そうであれば、このようにblog
クラスを削除するだけです。
function remove_blog_from_cpt_classes($classes, $class){
global $post;
if ($post->post_type != "products"){
return $classes;
}else{
foreach($classes as &$str){
if(strpos($str, "blog") > -1){
$str = "";
}
}
}
return $classes;
}
add_filter("body_class", "remove_blog_from_cpt_classes", 10, 2);
お役に立てれば