概要
woocommerce_variation_option_name
フィルタは、WooCommerceの商品バリエーションのオプション名を変更するために使用されます。このフィルタを利用することで、顧客に表示されるオプション名をカスタマイズし、よりわかりやすくすることができます。このフィルタは、主に以下のような機能を実装する際に使われます。
- バリエーションのオプション名を翻訳する。
- 色やサイズなど、特定の名称をブランドに合わせたものに変更する。
- オプション名に特定のCSSクラスを追加して、スタイルを変更する。
- バリエーションの商品説明を簡潔にするために、名称を短縮する。
- 顧客の理解を助けるために、オプション名に追加情報を付与する。
- 見出しをカスタマイズして、特定のプロモーションと連動させる。
フィルタの構文
add_filter( 'woocommerce_variation_option_name', 'your_function_name', 10, 2 );
パラメータ
- $term (string): 変更前のオプション名。
- $product (WC_Product): 対象となる商品オブジェクト。
戻り値
- 変更後のオプション名を返す。
対応するバージョン
- WooCommerce: 3.0以上
- WordPress: 4.0以上
サンプルコード
サンプルコード1: オプション名を大文字に変換
add_filter( 'woocommerce_variation_option_name', 'uppercase_variation_option_name', 10, 2 );
function uppercase_variation_option_name( $term, $product ) {
return strtoupper( $term );
}
このサンプルコードは、バリエーションオプション名をすべて大文字に変換します。
サンプルコード2: オプション名に「特別」を追加
add_filter( 'woocommerce_variation_option_name', 'add_special_to_variation_name', 10, 2 );
function add_special_to_variation_name( $term, $product ) {
return '特別: ' . $term;
}
このサンプルコードは、全てのバリエーションオプション名の前に「特別: 」という文字列を追加します。
サンプルコード3: サイズに応じた説明文の追加
add_filter( 'woocommerce_variation_option_name', 'add_size_description', 10, 2 );
function add_size_description( $term, $product ) {
if (strpos($term, 'M') !== false) {
return $term . ' (人気サイズ)';
}
return $term;
}
このサンプルコードは、オプション名に「(人気サイズ)」という説明文を、サイズがMの場合だけ追加します。
サンプルコード4: 特定のバリエーション名のカスタマイズ
add_filter( 'woocommerce_variation_option_name', 'customize_variation_name', 10, 2 );
function customize_variation_name( $term, $product ) {
if ( $product->get_id() == 123 ) { // 商品IDを123とします。
return '特製: ' . $term;
}
return $term;
}
このサンプルコードは、商品IDが123の場合のみ、オプション名の前に「特製: 」というプレフィックスを追加します。
サンプルコード5: カラー名称のカスタマイズ
add_filter( 'woocommerce_variation_option_name', 'customize_color_names', 10, 2 );
function customize_color_names( $term, $product ) {
if ( stripos( $term, '青' ) !== false ) {
return '海の青';
}
return $term;
}
このサンプルコードは、「青」というオプション名を「海の青」に変更します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |