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




