Php WordPress ajax调用自定义查询变量

Php WordPress ajax调用自定义查询变量,php,ajax,wordpress,Php,Ajax,Wordpress,我有一个响应ajax调用的插件,但当我尝试检索查询变量列表时,列表是空的 请求如下: http://www.xxx.com/wp-admin/admin-ajax.php?minutes=1500&data=1&action=get_cbp_contracts 在ajax操作中,我有 class Contracts { [...] /** * query params * * @var array */ pub

我有一个响应ajax调用的插件,但当我尝试检索查询变量列表时,列表是空的

请求如下:

http://www.xxx.com/wp-admin/admin-ajax.php?minutes=1500&data=1&action=get_cbp_contracts
在ajax操作中,我有

class Contracts
{
    [...]

    /**
     * query params
     *
     * @var array
     */
     public static $query_params = array(        
        'minutes' => 'minutes', 
        'data' => 'data'        
    );

    function get_contracts(){
        foreach (Contracts::$query_params as $name => $api_name)
            if ($value = get_query_var($name))
                $p = $value;

    }

    [...]
}

function add_query_vars_filter( $vars ){
  foreach (array_keys(Contracts::$query_params) as $name)
    $vars[] = $name;
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
经过一番调查,我知道add_query_vars_filter()从未执行过。有什么想法吗

编辑: js代码


Arek,我觉得您应该尝试更改数据类型并用html测试它

改变

 dataType: 'json',


这段代码在你的自定义插件中,还是你把它放在functions.php中?确保只有一个functions.php。有时,可能会有自定义functions.php用于主题它在一个自定义插件中合同类和add_query_vars_filter函数在同一个文件中请查看编辑的问题您确定,它没有进入
add_query_vars_filter
对吗?是的,我已经放死('test')了在这个函数里面,所以我会在客户端看到我放弃了这个。将使用$\u请求替代。无论如何谢谢你的帮助,RamArek,我仍然觉得你应该再测试一次类型:“POST”而不是GET,不要使用任何数据类型:因为你正在传递JSON数据。这只是建议,休息取决于你。
 dataType: 'json',
 dataType: 'html',