【发布时间】:2023-03-07 19:51:01
【问题描述】:
我正在尝试从Woocommerce结账时捕获ProductId和价格,但不能弄清楚为什么不起作用。
我创建了一个钩子,放在functions.php(Astra 主题)中
add_action( 'woocommerce_checkout_order_processed', 'is_express_delivery', 1, 1 );
function is_express_delivery( $order_id ){
$order = new WC_Order( $order_id );
$product = wc_get_product( $order_id );
$productId = $product->get_id();
$price = $product->get_price();
?>
<script type="text/javascript">
var clicky_goal = { id: ""<?php echo $productId ?>"", revenue: ""<?php echo $price ?>"" };
</script>
<?php
}
基本上,我想在购物车提交上捕获产品和价格,并将其发送到跟踪工具
【问题讨论】:
-
您使用的钩子包含的不是 1 个而是 3 个参数。 一个订单通常还包含多个产品。所以你想把这个应用到每一个产品上吗?或者你怎么看这个?请澄清您的问题
-
@7uc1f3r 是的,我想为客户购买的每个产品申请。例如,如果我购买三件商品,我应该为每件商品使用一个循环吗?我猜如果#productid > 1 它是一个数组?
-
当订单状态更改为“已处理”时,将运行
woocommerce_checkout_order_processed挂钩。一个更好的可能是实际创建订单时,结帐时:woocommerce_checkout_create_order_line_item。 -
@dcron 1/2 如果您的问题已经得到答案,我们无意在之后用一个新的/额外的问题来调整您的问题,我们会不得不再次调整我们的答案。而是阅读What should I do when someone answers my question?。确定答案是否有帮助,然后vote 和/或accept 它。
标签: jquery wordpress woocommerce checkout orders