概要
wc_product_enable_dimensions_display
フィルタは、WooCommerceにおける製品ページで商品のサイズや重量の表示を制御するために使用されます。このフィルタを利用することで、特定の条件に基づいて製品の寸法表示を有効または無効にすることが可能です。特に、次のような機能を実装する際に役立ちます。
- 商品のバリエーションによる寸法の個別指定
- 特定のカテゴリやタグを持つ商品に対する寸法の非表示
- 管理画面での寸法設定に基づく前面でのカスタマイズ
- 地域による単位の切り替え
- プロモーション活動に応じた寸法表示の変更
- 顧客のフィードバックに基づく寸法情報の調整
構文
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; // その他の場合はフックされた値を保持
}
このコードは、特定のプロモーションが行われている場合に寸法を表示します。