概要
woocommerce_order_item_name
フィルタは、WooCommerceプラグイン内で注文アイテムの名前をカスタマイズするために使用されます。このフックは、たとえば注文確認ページやメール通知など、ユーザーに表示される商品名を編集する際に役立ちます。以下は、このフィルタがよく使われる例です。
- 商品名にカスタムテキストを追加する
- 商品名を条件に応じて変更する
- 特定のカテゴリーやタイプの商品名を特別にフォーマットする
- 特定の属性を持つ商品に対して異なる表示を行う
- 商品名のHTMLフォーマットを変更する
- 複数の言語に対応するために商品名を変更する
構文
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;
}
このサンプルコードは、変動商品(バリエーション商品)の名前に「変動商品: 」というプレフィックスを追加します。