Php WordPress获取查询变量(';查看顺序';)返回一个空结果

Php WordPress获取查询变量(';查看顺序';)返回一个空结果,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我有个问题。我创建了一个新类。我在functions.php中需要这个类,然后从类newtest()创建一个新对象。到目前为止还不错 在我的构造函数中,我有以下内容: public function __construct() { error_log( get_query_var( 'view-order' ) ); $this->register(); } 问题是get\u query\u var返回一个空结果。实际上我希望这里有一份商业订单的订单号 这怎么可能 更新:

我有个问题。我创建了一个新类。我在
functions.php
中需要这个类,然后从类
newtest()创建一个新对象。到目前为止还不错

在我的构造函数中,我有以下内容:

public function __construct() {
    error_log( get_query_var( 'view-order' ) );
    $this->register();
}
问题是get\u query\u var返回一个空结果。实际上我希望这里有一份商业订单的订单号

这怎么可能

更新:
例如,当我在模板中执行此操作时,效果很好。奇怪…

请尝试下面的代码:

// function php

class Test {

    public function __construct()
    {
        add_action( 'template_redirect', [ $this, 'get_order_id' ] );
    }

    public function get_order_id()
    {
        if ( is_view_order_page() ) {
            $order_id = wc_clean( get_query_var('view-order') );
        }
    }
}

new Test();

这取决于您调用的页面…在正确的页面上(查看订单页面)。我没那么笨。get\u query\u var()正在寻找全局值。调用构造函数时可能尚未安装此值。但是可以安装,当您在Template中调用它时,您应该在这里真正帮助我们。。你的问题还不够。。。如果调用
newtest()functions.php
中的code>在我看来,
'view-order'
还不可用。。我建议你用一些动作钩。我不知道你是否在做。似乎正在使用模板重定向:)很好!