まず、functions.phpファイルに以下のコードを追加します。
function custom_add_cart_item_data( $cart_item_data, $product_id, $variation_id ) {
if ( isset( $_POST['custom_field'] ) ) {
$custom_field_value = sanitize_text_field( $_POST['custom_field'] );
$cart_item_data['custom_data'] = $custom_field_value;
}
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'custom_add_cart_item_data', 10, 3 );
上記のコードでは、woocommerce_add_cart_item_data
フックを使用してカートアイテムデータにカスタムフィールドの値を追加しています。フォームから送信されたcustom_field
値を取得し、$cart_item_data
配列にcustom_data
として保存します。
次に、カートページテンプレート(cart.php)に以下のコードを追加します。
function custom_display_cart_item_data( $item_data, $cart_item ) {
if ( isset( $cart_item['custom_data'] ) ) {
$item_data[] = array(
'key' => 'Custom Field',
'value' => $cart_item['custom_data'],
);
}
return $item_data;
}
add_filter( 'woocommerce_get_item_data', 'custom_display_cart_item_data', 10, 2 );
上記のコードでは、woocommerce_get_item_data
フックを使用してカートアイテムのデータを表示します。カートアイテムデータにカスタムフィールドが存在する場合、カスタムフィールドのラベルと値を表示します。
これで、WooCommerceカートページにカスタムフィールドデータが表示されるようになります。この方法を使用すると、ユーザーがカートページでカスタムフィールドの値を入力できるフォームを作成することもできます。
このブログ投稿では、WooCommerceのカートページにカスタムフィールドデータを追加する方法を詳しく解説しました。上記のコード例を使用することで、カスタムフィールドを利用して追加の情報をカートに表示することができます。