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

概要

woocommerce_get_item_data フィルタは、WooCommerce のカートに追加された商品アイテムのデータをカスタマイズするために使用されます。このフィルタを使用すると、商品詳細やカスタムフィールドを表示する際に、ユーザーのインターフェースを向上させることができます。具体的には、以下のような機能の実装に役立ちます:

  1. 商品のカスタム属性の表示
  2. 特殊なオプションの選択肢の追加
  3. ユーザーが選択したオプションの情報を表示
  4. バリエーション商品の詳細情報の表示
  5. 商品ライセンス情報の表示
  6. 商品メモや特記事項の表示

構文

add_filter('woocommerce_get_item_data', 'your_function_name', 10, 2);

パラメータ
$item_data : 商品に関連するデータの配列
$cart_item : カート内の特定の商品アイテムの配列

戻り値
– カスタマイズされた $item_data 配列

対応する WooCommerce バージョン
– WooCommerce 2.1 以降

対応する WordPress バージョン
– WordPress 4.0 以降


サンプルコード

サンプルコード1: 商品のカスタム属性を追加する

このコードは、カートに追加された商品にカスタム属性(例: サイズ)を表示します。

add_filter('woocommerce_get_item_data', 'add_custom_size_to_cart_item', 10, 2);
function add_custom_size_to_cart_item($item_data, $cart_item) {
    if (!empty($cart_item['size'])) {
        $item_data[] = array(
            'name' => __('Size', 'your-text-domain'),
            'value' => wc_clean($cart_item['size']),
        );
    }
    return $item_data;
}

引用元: https://www.businessbloomer.com/woocommerce-custom-cart-item-data/

サンプルコード2: 商品メモをカートに表示する

このコードは、カートに商品の特記事項を表示します。

add_filter('woocommerce_get_item_data', 'display_custom_item_note', 10, 2);
function display_custom_item_note($item_data, $cart_item) {
    if (!empty($cart_item['item_note'])) {
        $item_data[] = array(
            'name' => __('Note', 'your-text-domain'),
            'value' => wc_clean($cart_item['item_note']),
        );
    }
    return $item_data;
}

引用元: https://woocommerce.com

サンプルコード3: 商品ライセンス情報を追加

このコードでは、カート内にライセンス情報を追加する方法を示します。

add_filter('woocommerce_get_item_data', 'add_license_info_cart_item', 10, 2);
function add_license_info_cart_item($item_data, $cart_item) {
    if (!empty($cart_item['license'])) {
        $item_data[] = array(
            'name' => __('License', 'your-text-domain'),
            'value' => wc_clean($cart_item['license']),
        );
    }
    return $item_data;
}

引用元: https://www.wpbeginner.com

サンプルコード4: バリエーション商品の情報を追加

このコードは、バリエーション商品がカートに追加された際に、その情報を表示します。

add_filter('woocommerce_get_item_data', 'add_variation_info_to_cart', 10, 2);
function add_variation_info_to_cart($item_data, $cart_item) {
    if (!empty($cart_item['variation'])) {
        foreach ($cart_item['variation'] as $key => $value) {
            $item_data[] = array(
                'name' => wc_attribute_label($key),
                'value' => $value,
            );
        }
    }
    return $item_data;
}

引用元: https://woocommerce.com

サンプルコード5: ユーザーが選択したオプションを表示

この例では、ユーザーが選択した特別なオプションがカートに表示されるようにします。

add_filter('woocommerce_get_item_data', 'show_user_selected_options', 10, 2);
function show_user_selected_options($item_data, $cart_item) {
    if (!empty($cart_item['custom_option'])) {
        $item_data[] = array(
            'name' => __('Your Option', 'your-text-domain'),
            'value' => wc_clean($cart_item['custom_option']),
        );
    }
    return $item_data;
}

引用元: https://www.wpexplorer.com


この関数のアクションでの使用可能性

アクション名 使用例
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

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


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