プラグインWooCommerceのis_woocommerce関数の使用方法・解説

概要

is_woocommerce 関数は、WooCommerce がインストールされている環境で使用される非常に便利な関数です。この関数は、現在のページが WooCommerce の特定のページであるかどうかをチェックするために使用されます。主に次のような機能を実装する際によく利用されます:

  1. WooCommerce ショッピングカートページのカスタマイズ
  2. 購入手続きページ上の特別なスタイルやスクリプトの追加
  3. 商品詳細ページでの特定のコンテンツの表示
  4. WooCommerce に関連するウィジェットの条件付き表示
  5. 価格や商品情報のフィルタリング
  6. SEO 対策としてのページタイトルやメタ情報のカスタマイズ

構文

is_woocommerce();

パラメータ

この関数は、パラメータを持ちません。

戻り値

  • true: 現在のページが WooCommerce に関連するページである場合。
  • false: そうでない場合。

使用可能なプラグインバージョン

  • WooCommerce: すべてのバージョン
  • WordPress: すべてのバージョン

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード 1: ショッピングカートのカスタマイズ

if ( is_woocommerce() && is_cart() ) {
    echo '<style>body { background-color: #f9f9f9; }</style>';
}

このコードは、ショッピングカートページでのみ特別なスタイルを追加します。

サンプルコード 2: 購入手続きページの特定コールバック

add_action( 'template_redirect', 'my_custom_redirect' );
function my_custom_redirect() {
    if ( is_woocommerce() && is_checkout() ) {
        wp_redirect( home_url() . '/special-checkout', 301 );
        exit;
    }
}

このコードは、購入手続きページが表示されたときに特定のページにリダイレクトします。

サンプルコード 3: 特定の商品表示

if ( is_woocommerce() && is_product_category( 'special-category' ) ) {
    echo '<h1>特別な商品のカテゴリー</h1>';
}

このコードは、特定の商品のカテゴリーを表示する際にタイトルを変更します。

サンプルコード 4: WooCommerce ウィジェットの表示制御

add_shortcode( 'my_woocommerce_widget', 'my_woocommerce_widget_function' );
function my_woocommerce_widget_function() {
    if ( is_woocommerce() ) {
        return '<div>WooCommerce ウィジェットコンテンツ</div>';
    }
    return '';
}

このコードは、WooCommerce ページでのみ表示されるウィジェットを作成します。

サンプルコード 5: メタタグのカスタマイズ

add_action( 'wp_head', 'my_woocommerce_meta' );
function my_woocommerce_meta() {
    if ( is_woocommerce() ) {
        echo '<meta name="robots" content="noindex, follow">';
    }
}

このコードは、WooCommerce 関連のページに noindex タグを追加します。

この関数について質問する


上の計算式の答えを入力してください