WordPress:获取查询的对象方法总是返回null

时间:2018-02-19 06:16:01

标签: php sql wordpress

我正在使用基于CMS的WordPress项目并需要一些自定义搜索我的意思是自定义搜索和我需要的terms get_queried_object我已经使用了如下

的search.php

$object = get_queried_object();
var_dump($object);
// NULL 

修改search.php

我需要来自该查询的terms,如下所示

$args = array(
    'post_type'      => 'projects',
    'tax_query' => array(
        array(
            'taxonomy' => 'project_category',
            'field' => 'slug',
            'terms' => array($object->slug)
        )
    )
);

我试过this from SO,但结果是一样的,我做错了什么?

由于

2 个答案:

答案 0 :(得分:1)

(正如通过评论所讨论的那样;)使用get_search_query()功能,而不是get_queried_object(),它始终在搜索结果页上返回null

所以这是完整的代码:

$search_term = get_search_query(); // The current search query/keyword.
$args = array(
    'post_type'      => 'projects',
    'tax_query' => array(
        array(
            'taxonomy' => 'project_category',
            'field' => 'slug',
            'terms' => array( $search_term )
        )
    )
);

答案 1 :(得分:0)

由于您需要对搜索进行一些自定义,请改用get_search_query()功能。