背景
我们在WooCommerce中稍微更改了结帐过程。
通常情况下,用户会说:订单结帐->谢谢页面( Order ID出现的地方)->向上销售页面
现在它是这样的:订单结账->上销页
此重定向是使用以下脚本实现的:
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变量中?
谢谢。
发布于 2020-05-11 07:28:06
我不会使用javascript,但是我会在upsell页面上使用wc_get_customer_last_order( $customer_id );来获得最新的订单id。
// 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
https://stackoverflow.com/questions/61724235
复制相似问题