gpt4 book ai didi

javascript - 在 Woocommerce 中嵌入带有交易 ID 的 clickwork7 跟踪代码

转载 作者:行者123 更新时间:2023-12-03 01:20:53 27 4
gpt4 key购买 nike

在 Woocommerce 中,我希望在付款前、创建订单时获取订单 ID。我在下面找到了这个答案:
Get the order ID in checkout page before payment process

我需要的是在跟踪脚本中传递事务 ID(如脚本中指定),我应该能够在 clickwork7 中进行跟踪仪表板:

<script type="text/javascript" src="https://clickwork7secure.com/p.ashx?
o=45875&e=12995&f=js&t=TRANSACTION_ID"></script>

但是,例如在 Paypal 中购买后,交易 ID 似乎为空,因此我可能应该传递订单 ID。

订单接收页面似乎是正确的位置,但是对于取消或失败的订单,在哪里以及如何嵌入此脚本?

感谢任何帮助。

最佳答案

更新:可以为此使用许多不同的 Hook :

  • wp_head
  • wp_footer
  • woocommerce_thankyou

您可以尝试使用:

  • 订单 ID (很容易获取)
  • 订单键:$order_key = get_post_meta( $order_id, '_order_key', true );
  • 交易 ID:$transaction_id = get_post_meta( $order_id, '_transaction_id', true );

1) 使用 woocommerce_thankyou Hook :更简单的方法因为订单 ID 是 Hook 参数:

add_action( 'woocommerce_thankyou', 'checkout_clickwork_js_script', 22, 1 );
function checkout_clickwork_js_script( $order_id ) {
if ( ! $order_id ) return; // Exit

$transaction_id = get_post_meta( $order_id, '_transaction_id', true );
$order_key = get_post_meta( $order_id, '_order_key', true );

if( ! empty($transaction_id) ){
$value = $transaction_id; // TRANSACTION ID
}
elseif( ! empty($order_key) ){
$value = $transaction_id; // ORDER KEY
}
else {
$value = $transaction_id; // ORDER ID

$url = "https://clickwork7secure.com/p.ashx?o=45875&e=12995&f=js&t=$value";

?><script type="text/javascript" src="<?php echo $url; ?>"></script> <?php
}

代码位于事件子主题(或事件主题)的 function.php 文件中。它应该可以工作。

<小时/>

2)使用wp_head钩子(Hook):

add_action( 'wp_head', 'checkout_clickwork_js_script', 998 );
function checkout_clickwork_js_script() {
// Only order-received page
if( is_wc_endpoint_url('order-received') ) :

global $wp;

$order_id = absint( $wp->query_vars['order-received'] );

if ( ! $order_id || empty($order_id) )
return; // Exit

$transaction_id = get_post_meta( $order_id, '_transaction_id', true );
$order_key = get_post_meta( $order_id, '_order_key', true );

if( ! empty($transaction_id) ){
$value = $transaction_id; // TRANSACTION ID
}
elseif( ! empty($order_key) ){
$value = $transaction_id; // ORDER KEY
}
else {
$value = $transaction_id; // ORDER ID

$url = "https://clickwork7secure.com/p.ashx?o=45875&e=12995&f=js&t=$value";

?><script type="text/javascript" src="<?php echo $url; ?>"></script> <?php
endif;
}

代码位于事件子主题(或事件主题)的 function.php 文件中。它应该可以工作。

The condition if( is_wc_endpoint_url('order-received') ) : can be extended to handle cancelled and failed orders custom endpoints too …

<小时/>

类似答案:

关于javascript - 在 Woocommerce 中嵌入带有交易 ID 的 clickwork7 跟踪代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com