Php 如何在WooCommerce中的订单付款页面上检索订单ID
我正在尝试修改Woocomece签出页面,以查看失败或等待付款的订单。在这些订单上,系统将带着已经生成的订单进行结帐,但我无法从form_checkout.php模板中检索该订单的ID 失败的订单可以由客户使用Woocommerce URL进行支付,类似于以下URL: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
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/