ワードプレスでbodyタグに任意のクラスを足す方法のPHPコードをご紹介します。

ワードプレスのbodyタグのクラス

ワードプレスのbodyタグには、様々なページの種類によって自動でクラスが追加されます。

home → トップページに付与されます

single 、 postid-投稿ID → 単一投稿表示に付与されます

archive 、category 、category-カテゴリーID → カテゴリーページに付与されます

archive 、tag 、tag-タグID → タグページに付与されます

page 、 page-id-固定ページID → 固定ページに付与されます

logged-in → ログイン中にページを表示すると付与されます。

bodyクラスに独自のクラスを付与する

このbodyクラスに独自のクラスを付与することもできますのでそのコードを見ていきましょう。

※このコードはテーマのFunctions.phpや作成中のプラグイン等にコピペ頂くと動作します。

function add_my_body_classes($classes) {

    if( is_paged() ) { //固定ページの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_tag() ) { //タグページの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_category() ) { //カテゴリーページの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_day() ) { //日別アーカイブの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_month() ) { //月別アーカイブの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_year() ) { //年次アーカイブの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_author() ) { //著者ページの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_tax('任意のタグのスラグ') ) { //任意のタグの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_category('任意のカテゴリーのスラグ') ) { //任意のカテゴリーの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_single() ) ) { //投稿ページの場合
        $classes[] = '任意のクラス名';
    }
    
    if( is_mobile() ) { //モバイルで表示されている場合
        $classes[] = '任意のクラス名';
    }
    
    
    return array_unique($classes);
};
add_filter('body_class','add_my_body_classes');

上記コードでは
・固定ページの場合
・タグページの場合
・カテゴリーページの場合
・日別アーカイブの場合
・月別アーカイブの場合
・年次アーカイブの場合
・著者ページの場合
・任意のタグの場合
・任意のカテゴリーの場合
・投稿ページの場合
・モバイルで表示されている場合
に任意のクラスを足すコードを示しています。

add_filter(‘body_class’, でワードプレスがbodyタグにクラスを付与する処理に割り込んでいます。

$classes[] でbodyタグに追加されるクラス群に任意のクラスを追加して、最後にreturnで返してそのクラスも含めて出力させます。

bodyのクラスを全部消すには?

ちなみに上記コードで空っぽの配列を返すとbodyタグのクラス付与を全部消してしまう事も可能です。

function add_my_body_classes($classes) {
    return array();
};
add_filter('body_class','add_my_body_classes');

参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインの作成カスタマイズ、修正のご依頼ご相談はワードプレスドクターまでお気軽にお送りください