【发布时间】:2014-09-30 00:22:59
【问题描述】:
如何获取 woocommerce 订单的订单 ID 以在 functions.php 中的函数中使用?
我希望能够在以下时间检查订单的 ID:
woocommerce 我的帐户页面(针对每个订单): http://example.com/my-account
和
woocommerce 结帐页面(针对当前订单): http://example.com/checkout/order-pay/210?pay_for_order=true&key=order_53df9a0e8116a
我知道在结账页面,可以通过$order->id来访问订单id;在 form-pay.php 模板(位于 plugins/woocommerce/templates/checkout/form-pay.php)中,我希望能够从主题的 functions.php 文件中执行相同的操作。
【问题讨论】:
-
尝试
var_dump($GLOBALS)以查看此 ID 在全局范围内是否可用。否则,检查$_POST和$_GET -
如果订单还没有下,你无法获取order_id,因为它还不存在。结帐完成后,您可以使用
woocommerce_order_status_completed操作立即获取订单号。 -
在这种情况下确实存在订单 ID,因为它们是使用 oscommerce 的“添加订单”功能创建的。当您创建订单时,客户可以在“我的帐户”部分单击“付款”按钮。在上面的示例中,210 是订单的订单号/帖子 ID。
-
$_POST 为空,而 $_GET 没有。 var_dump($GLOBALS) 有大量数据需要排序。由于某种原因,我无法使用 echo '
'.var_dump($GLOBALS).'
'; 使 var_dump 可读 -
get_query_var('order-pay');成功了,感谢this.lau_的建议。
标签: php wordpress wordpress-theming woocommerce