プラグインWooCommerceのwc_product_enable_dimensions_displayフィルタの使用方法・解説

概要

wc_product_enable_dimensions_displayフィルタは、WooCommerceにおける製品ページで商品のサイズや重量の表示を制御するために使用されます。このフィルタを利用することで、特定の条件に基づいて製品の寸法表示を有効または無効にすることが可能です。特に、次のような機能を実装する際に役立ちます。

  1. 商品のバリエーションによる寸法の個別指定
  2. 特定のカテゴリやタグを持つ商品に対する寸法の非表示
  3. 管理画面での寸法設定に基づく前面でのカスタマイズ
  4. 地域による単位の切り替え
  5. プロモーション活動に応じた寸法表示の変更
  6. 顧客のフィードバックに基づく寸法情報の調整

構文

add_filter( 'wc_product_enable_dimensions_display', 'custom_dimensions_display', 10, 2 );

パラメータ

  • bool $enabled (デフォルト: true): 寸法表示を有効にするかどうかのフラグ
  • WC_Product $product: 対象の製品オブジェクト

戻り値

  • bool: 寸法の表示を真偽値で返す。trueの場合は表示、falseの場合は非表示。

使用可能なバージョン

  • WooCommerce バージョン: 2.6.0以降
  • WordPress バージョン: 4.0以降

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

アクション 使用例
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: 特定の製品を非表示にする

add_filter( 'wc_product_enable_dimensions_display', 'hide_dimensions_for_special_product', 10, 2 );

function hide_dimensions_for_special_product( $enabled, $product ) {
    if ( $product->get_id() === 123 ) { // 特定の製品ID
        return false; // 寸法表示を無効にする
    }
    return $enabled; // その他の場合はフックされた値を保持
}

このコードは、特定の製品(IDが123)の場合、寸法の表示を無効にします。

サンプルコード2: カテゴリによる条件分岐

add_filter( 'wc_product_enable_dimensions_display', 'category_based_dimensions_display', 10, 2 );

function category_based_dimensions_display( $enabled, $product ) {
    if ( has_term( '重量物', 'product_cat', $product->get_id() ) ) {
        return false; // 重量物カテゴリの商品は寸法表示を無効
    }
    return $enabled; // その他の場合はフックされた値を保持
}

このコードは、特定のカテゴリ「重量物」に属する製品の寸法表示を無効にします。

サンプルコード3: クライアントの地域に基づく寸法単位の表示

add_filter( 'wc_product_enable_dimensions_display', 'dimensions_display_based_on_location', 10, 2 );

function dimensions_display_based_on_location( $enabled, $product ) {
    if ( isset( $_COOKIE['user_location'] ) && $_COOKIE['user_location'] === 'US' ) {
        // アメリカの顧客には寸法を表示
        return true;
    }
    return false; // 他の地域では寸法を非表示
}

このコードは、ユーザーの地域情報に基づき、アメリカの顧客には寸法を表示します。

サンプルコード4: 管理画面の設定による制御

add_filter( 'wc_product_enable_dimensions_display', 'control_dimensions_from_admin', 10, 2 );

function control_dimensions_from_admin( $enabled, $product ) {
    $show_dimensions = get_option( 'show_product_dimensions', 'yes' ); // 管理画面の設定
    return ( $show_dimensions === 'yes' ); // 設定に基づいて表示
}

このコードは、管理画面で設定されたオプションに基づいて寸法の表示を制御します。

サンプルコード5: プロモーションに基づく寸法表示の切り替え

add_filter( 'wc_product_enable_dimensions_display', 'promo_based_dimensions_display', 10, 2 );

function promo_based_dimensions_display( $enabled, $product ) {
    if ( is_product() && is_on_promo() ) { // プロモーション中か判定
        return true; // プロモーション中は寸法を表示
    }
    return $enabled; // その他の場合はフックされた値を保持
}

このコードは、特定のプロモーションが行われている場合に寸法を表示します。

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


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