【WordPress】body_class()でbodyタグにクラスを追加・削除する方法

WordPressでは、body_class()関数を使って自動的にbodyタグにクラスを付与することができますが、特定の条件に基づいてクラスを追加・削除したい場合もあります。この記事では、body_classフィルターフックを使用して、簡単にカスタマイズする方法を紹介します。

クラスを追加する方法

特定のページや投稿にクラスを追加したい場合、以下のコードをテーマのfunctions.phpファイルに追加します。

function my_custom_body_classes( $classes ) {
    // 新しいクラスを追加
    if ( is_single() ) {
        $classes[] = 'single-post-view';
    }
    return $classes;
}
add_filter( 'body_class', 'my_custom_body_classes' );

このコードでは、シングル投稿ページ(is_single()がtrueの場合)にsingle-post-viewというクラスをbodyタグに追加します。この方法により、投稿ページごとに異なるスタイルを簡単に適用できます。

クラスを削除する方法

デフォルトで追加されるクラスや不要なクラスを削除したい場合は、次のコードを使用します。

function my_remove_body_classes( $classes ) {
    // 削除したいクラス名を指定
    $class_to_remove = 'example-class';
    
    // クラスが存在する場合に削除
    if ( in_array( $class_to_remove, $classes ) ) {
        $classes = array_diff( $classes, array( $class_to_remove ) );
    }

    return $classes;
}
add_filter( 'body_class', 'my_remove_body_classes' );

このコードでは、example-classというクラスがbodyタグに含まれている場合に、それを削除します。これにより、スタイルの競合を避けることができ、ページの見た目を整理することができます。

まとめ

body_classフィルターフックを使用することで、bodyタグに必要なクラスを追加したり、不要なクラスを削除することができます。これにより、サイトのカスタマイズがより柔軟になり、テーマのスタイル調整が容易になります。ぜひ、あなたのサイトに合ったカスタマイズを試してみてください。