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

概要

woocommerce_variation_option_nameフィルタは、WooCommerceの商品バリエーションのオプション名を変更するために使用されます。このフィルタを利用することで、顧客に表示されるオプション名をカスタマイズし、よりわかりやすくすることができます。このフィルタは、主に以下のような機能を実装する際に使われます。

  1. バリエーションのオプション名を翻訳する。
  2. 色やサイズなど、特定の名称をブランドに合わせたものに変更する。
  3. オプション名に特定のCSSクラスを追加して、スタイルを変更する。
  4. バリエーションの商品説明を簡潔にするために、名称を短縮する。
  5. 顧客の理解を助けるために、オプション名に追加情報を付与する。
  6. 見出しをカスタマイズして、特定のプロモーションと連動させる。

フィルタの構文

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

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


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