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

概要

woocommerce_order_item_nameフィルタは、WooCommerceプラグイン内で注文アイテムの名前をカスタマイズするために使用されます。このフックは、たとえば注文確認ページやメール通知など、ユーザーに表示される商品名を編集する際に役立ちます。以下は、このフィルタがよく使われる例です。

  1. 商品名にカスタムテキストを追加する
  2. 商品名を条件に応じて変更する
  3. 特定のカテゴリーやタイプの商品名を特別にフォーマットする
  4. 特定の属性を持つ商品に対して異なる表示を行う
  5. 商品名のHTMLフォーマットを変更する
  6. 複数の言語に対応するために商品名を変更する

構文

add_filter('woocommerce_order_item_name', 'callback_function', 10, 2);

パラメータ

  • $item_name (string): 現在の注文アイテム名
  • $item (WC_Order_Item_Product): 注文アイテムのオブジェクト

戻り値

  • フィルタ後のアイテム名(string)

使用可能なプラグインバージョン

  • WooCommerce: 3.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('woocommerce_order_item_name', 'add_custom_text_to_item_name', 10, 2);

function add_custom_text_to_item_name($item_name, $item) {
    return $item_name . ' - カスタムテキスト';
}

このコードは、各注文アイテムの名前の後に「- カスタムテキスト」という文字列を追加します。

サンプル2: 特定の商品の名前を変更

add_filter('woocommerce_order_item_name', 'modify_specific_product_name', 10, 2);

function modify_specific_product_name($item_name, $item) {
    if ($item->get_product_id() == 123) { // 商品ID 123
        return '特別な商品名';
    }
    return $item_name;
}

これは、特定の商品ID(123)の商品名を「特別な商品名」に置き換えます。

サンプル3: 商品名のHTMLを変更

add_filter('woocommerce_order_item_name', 'change_item_name_format', 10, 2);

function change_item_name_format($item_name, $item) {
    return '<strong>' . esc_html($item_name) . '</strong>';
}

この例では、すべての注文アイテム名を太字にするためにHTMLタグを使用しています。

サンプル4: 数量をアイテム名に追加

add_filter('woocommerce_order_item_name', 'add_quantity_to_item_name', 10, 2);

function add_quantity_to_item_name($item_name, $item) {
    $quantity = $item->get_quantity();
    return $item_name . ' (数量: ' . $quantity . ')';
}

このコードは、商品名の後に商品の数量を追加します。

サンプル5: 商品タイプに基づいて名前を変更

add_filter('woocommerce_order_item_name', 'change_name_for_variable_products', 10, 2);

function change_name_for_variable_products($item_name, $item) {
    if ($item->get_product()->is_type('variable')) {
        return '変動商品: ' . $item_name;
    }
    return $item_name;
}

このサンプルコードは、変動商品(バリエーション商品)の名前に「変動商品: 」というプレフィックスを追加します。

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


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