Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将订单ID从另一个页面传递到当前页面上的JavaScript变量_Javascript_Php_Woocommerce - Fatal编程技术网

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

将订单ID从另一个页面传递到当前页面上的JavaScript变量,javascript,php,woocommerce,Javascript,Php,Woocommerce,背景 我们在WooCommerce中稍微改变了结账流程 通常,用户会进入:订单结帐-->谢谢页面(此处显示订单ID)->追加销售页面 现在是这样的:订单签出-->追加销售页面 此重定向是使用以下脚本实现的: add_action( 'template_redirect', 'woo_custom_redirect_after_purchase' ); function woo_custom_redirect_after_purchase() { global $wp; if ( is_check

背景

我们在WooCommerce中稍微改变了结账流程

通常,用户会进入:订单结帐-->谢谢页面(此处显示
订单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中提取
订单ID
,因为签出后,我们会立即将用户重定向到Upsell页面

那么,有没有办法将
订单ID
推送到Upsell页面上的Javascript变量中呢


谢谢。

我不会使用javascript,但会使用
wc\u get\u customer\u last\u order($customer\u id)以获取最新订单id

//获取用户id
$customer\u id=get\u current\u user\u id();
//拿到最后的订单
$last\u order=wc\u get\u customer\u last\u order($customer\u id);
//获取订单id
$order\u id=$last\u order->get\u id();
echo$order\u id;
//编辑:如果您想使用order id作为javascript变量,可以通过以下方式进行
?>
jQuery(文档).ready(函数($){
变量顺序_id=;
控制台日志(订单id);
});

嘿@7uc1f3r,谢谢你的评论。我回家后会试试你的密码,但只是想知道。在回显$order_id之后,如何将其存储在javascript变量中?很抱歉,我不熟悉PHP。谢谢你的更新答案。我将您的代码插入functions.php,Wordpress不允许我保存。第一个错误是
语法错误,意外的文件结尾。我解决这个问题的办法是在末尾加一个
?>
。然而,我随后在wp content/themes/hello theme child master/functions.php:149中遇到了这个错误
Uncaught error:Call to member function get_id()on bool。我说过你可以在你的upsell页面上使用这个代码,谢谢你的回复。对不起,我误解你了。需要一些时间来了解如何在我的upsell页面上使用它。嘿7uc1f3r,谢谢。由于用户不需要登录购买,我不得不对您的代码稍加修改。我通过
functions.php
和页面本身的一个快捷码实现了它。虽然console.log显示了正确的数量,但奇怪的是,当我在Chrome控制台中输入
order\u id
时,我收到了这个错误消息
uncaughtreferenceError:order\u id没有定义。你知道为什么会这样吗?仅供参考,我从这里获取了部分修改后的代码:。