首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将WooCommerce订单ID从另一个页面传递到当前页上的JavaScript变量

将WooCommerce订单ID从另一个页面传递到当前页上的JavaScript变量
EN

Stack Overflow用户
提问于 2020-05-11 07:19:06
回答 1查看 544关注 0票数 1

背景

我们在WooCommerce中稍微更改了结帐过程。

通常情况下,用户会说:订单结帐->谢谢页面( Order ID出现的地方)->向上销售页面

现在它是这样的:订单结账->上销页

此重定向是使用以下脚本实现的:

代码语言:javascript
复制
add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' );
function woo_custom_redirect_after_purchase() {
global $wp;
if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
wp_redirect( 'https://website.com/upsell/' );
exit;
}
}

问题

这里的问题是,我无法从“谢谢”页面中的DOM中提取Order ID,因为在结帐后,我们立即将用户重定向到Upsell页面。

那么,是否有一种方法可以将Order ID推入上销页面上的Javascript变量中?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 07:28:06

我不会使用javascript,但是我会在upsell页面上使用wc_get_customer_last_order( $customer_id );来获得最新的订单id。

代码语言:javascript
复制
// Get user id
$customer_id = get_current_user_id();

// Get last order
$last_order = wc_get_customer_last_order( $customer_id );

// Get order id
$order_id = $last_order->get_id();

echo $order_id;

// EDIT: if you like to use the order id as javascript variable, you can do this in the following way
?>
<script type="text/javascript">
jQuery(document).ready(function ($) {
    var order_id = <?php echo $last_order->get_id(); ?>;
    console.log(order_id);
});
</script>
<?php

如果您无法访问

,则使用$customer_id (取决于客人是否可以在您的网上商店没有帐户的情况下订购?)

您可以使用sql query来获取最新的订单ID

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61724235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档