Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
Php 如何在WooCommerce中的订单付款页面上检索订单ID_Php_Wordpress_Woocommerce_Orders_Woocommerce Subscriptions - Fatal编程技术网

Php 如何在WooCommerce中的订单付款页面上检索订单ID

Php 如何在WooCommerce中的订单付款页面上检索订单ID,php,wordpress,woocommerce,orders,woocommerce-subscriptions,Php,Wordpress,Woocommerce,Orders,Woocommerce Subscriptions,我正在尝试修改Woocomece签出页面,以查看失败或等待付款的订单。在这些订单上,系统将带着已经生成的订单进行结帐,但我无法从form_checkout.php模板中检索该订单的ID 失败的订单可以由客户使用Woocommerce URL进行支付,类似于以下URL: https://myurl.com/checkout/order-pay/XXXXX/?pay_for_order=true&key=wc_order_XXXXXXXXXXXX&subscription_renew

我正在尝试修改Woocomece签出页面,以查看失败或等待付款的订单。在这些订单上,系统将带着已经生成的订单进行结帐,但我无法从form_checkout.php模板中检索该订单的ID

失败的订单可以由客户使用Woocommerce URL进行支付,类似于以下URL:

https://myurl.com/checkout/order-pay/XXXXX/?pay_for_order=true&key=wc_order_XXXXXXXXXXXX&subscription_renewal=true
我也不使用$GET检索变量,因为访问时URL被转换为。我不知道你是否丢失了这些数据,或者我在哪里可以收集到这些数据


这是否可行?

要在订单付款页面上检索订单Id,您将使用以下命令:

global $wp;

if ( isset($wp->query_vars['order-pay']) && absint($wp->query_vars['order-pay']) > 0 ) {
    $order_id = absint($wp->query_vars['order-pay']); // The order ID

    $order    = wc_get_order( $order_id ); // Get the WC_Order Object instance
}

注意:对于目标订单支付页面,您可以使用
is\u wc\u endpoint\u url('Order-pay')
条件标记。

谢谢@LoicTheAztec,这正是我要找的。我非常感谢您的回复。但是,使用is_wc_endpoint_url(“订单支付”),我也遇到了同样的问题,端点在url中丢失了,看起来像这样:myurl.com/checkout/