WooCommerce カートに dataLayer を設定して、最初の項目の値を渡そうとしています。以下のコードは、両方の値を 1 つの変数として渡しますが、それは私が望むものではありません。カート内の各アイテムに対して配列を作成したいのです。
1 つは価格の配列で、もう 1 つは数量の配列です。
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'firstItemUnitPrice': '<?php
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
$_product = $values['data']->post;
$price = get_post_meta($values['product_id'] , '_price', true);
echo $price;
}?>'
});
</script>
上記のコードからの出力は次のとおりです。
最初の商品単価: 1144
カートには 2 つの製品があり、1 つは 11 ドル相当、もう 1 つは 44 ドル相当です。
それらを分離する方法は知っていますが、それらを配列として dataLayer に追加したいと考えています。助けてください?
カートをループする必要があることは理解していますが、各商品の価格と各商品の数量を dataLayer に配置したいと考えています。