概要
wc_product_enable_dimensions_display
は、WooCommerceの商品における寸法表示の有効化を制御するためのフィルターフックです。このフックは、商品が寸法を持つ場合に寸法情報の表示を有効または無効にすることができます。これにより、特定の条件下で商品の寸法情報の表示を管理することが可能です。
このフィルタは以下のような機能を実装する際によく使われます。
- 特定の製品カテゴリーに基づいて寸法の表示を制御する。
- ユーザーの役割により寸法を表示するかどうかを決定する。
- 商品の状況(在庫状況など)によって寸法表示を動的に変更する。
- 特定の条件に応じてサイズ表を表示させる。
- カスタムテーマでの寸法表示の統一を図る。
- 管理者ユーザーのみ寸法情報を表示するためのカスタマイズ。
構文は以下の通りです。
add_filter('wc_product_enable_dimensions_display', 'your_function_name', 10, 2);
パラメータ
$enable_dimensions
(bool): 寸法の表示を有効にするかどうかのフラグ。$product
(WC_Product): 寸法設定されているWooCommerce商品オブジェクト。
戻り値
- (bool): 寸法表示を許可する場合は
true
、それ以外はfalse
。
使用可能なWooCommerceのバージョン
- WooCommerce 2.0.0以上
使用可能なWordPressのバージョン
- 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', function($enable_dimensions, $product) {
// 在庫がない場合は寸法表示を無効にする
if (!$product->is_in_stock()) {
return false;
}
return $enable_dimensions;
});
このコードは、商品が在庫がない場合に寸法の表示を無効にします。
サンプルコード2
add_filter('wc_product_enable_dimensions_display', function($enable_dimensions, $product) {
// 特定のカテゴリーに属している場合のみ寸法表示を有効にする
if (has_term('特定のカテゴリー', 'product_cat', $product->get_id())) {
return true;
}
return false;
});
このコードは、特定のカテゴリーに属する商品だけに寸法の表示を許可します。
サンプルコード3
add_filter('wc_product_enable_dimensions_display', function($enable_dimensions, $product) {
// 管理者ユーザーのみ寸法情報を表示する
if (current_user_can('administrator')) {
return true;
}
return false;
});
このコードは、管理者ユーザーのみが寸法情報を表示できるようにします。
サンプルコード4
add_filter('wc_product_enable_dimensions_display', function($enable_dimensions, $product) {
// 商品の重量に応じて寸法表示を変更
if ($product->get_weight() > 50) {
return false; // 重量が50kgを超える場合は寸法を非表示に
}
return $enable_dimensions;
});
このコードは、商品の重量に基づいて寸法表示を制御します。
サンプルコード5
add_filter('wc_product_enable_dimensions_display', function($enable_dimensions, $product) {
// SEOのために特定の条件で寸法表示を切り替え
if (is_product() && is_single($product->get_id())) {
// SEO施策として表示を有効にする
return true;
}
return false;
});
このコードは、特定の商品の単一ページでのみ寸法を表示するようにします。