我当前正在尝试在自定义类中接收当前的订单ID。首先,我要检查我是否在查看顺序页面上。如果是,我正在尝试接收ID。问题是返回的ID是19
,但应该是6456
,真的很奇怪。我正在以我的孩子主题的functions.php
初始化课程:
public function __construct() {
if ( is_view_order_page() ) {
error_log( get_the_ID() );
}
}
有人知道我该如何解决吗?
更新:
我的另一个想法是阅读以下请求uri:
https://localhost/dashboard/view-order/6264/
所以我想到了这个主意:
public function __construct() {
if ( is_view_order_page() ) {
$uri_path = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH );
$uri_segments = explode( '/', $uri_path );
error_log( $uri_segments[3] );
}
}
但是我认为这不是那么安全和良好。如果有更好的方法可以进行此操作,请告诉我。非常感谢!
答案 0 :(得分:0)
您可以尝试这种方式:
public function __construct() {
if ( is_view_order_page() ) {
global $wp;
$order_id = wc_clean( $wp->query_vars['view-order'] );
$_order = wc_get_order($order_id);
// some logic
error_log( $_order->get_id() );
}
}
我检查了。很好