0

我目前正在尝试在 Wordpress 中设置搜索,但由于我目前正在丢失查询中的搜索词而遇到问题。我相信这是因为我正在运行一个新查询而不是设置 WP 查询。

当前问题

目前我正在运行以下命令(我希望搜索分类featurelocation搜索词的示例。

if ($s_feature != "" && $s_location != "")
    {
        $s_feat_array = array(
            'taxonomy' => 'feature',
            'terms' => array($s_feature),
            'field' => 'slug',
            'relation' => 'AND',
            );
        $s_loc_array = array(
            'taxonomy' => 'location',
            'terms' => array($s_location),
            'field' => 'slug',
            );
        $housequery['tax_query'] = array(
            'relation' => 'AND',
            'orderby' => 'title',
            'order' => 'ASC',
            $s_feat_array,
            $s_loc_array
        );
        query_posts($housequery);
    }

不幸的是,这不是搜索提交的搜索词或任何其他查询。

我的尝试

因此,我认为应该将其“设置”为$query而不是运行新命令。我已经看到以下代码确实有效:

$query->set('post_type',array('houses'));

但是,我尝试按如下方式修改查询,但我得到了一个致命错误(调用非对象上的成员函数):

$query->set(array('taxonomy','location','terms',
array($s_location),'field',array('slug')));

我认为这与数组结构不正确有关,尽管我真的很困惑,所以任何帮助将不胜感激。

4

1 回答 1

0

$housequery['tax_query']是索引 tax_query 处的数组中的一项。然后你把它变成一个数组。但是当您调用 query_posts 时,您不会引用$housequery['tax_query'].

query_posts($housequery['tax_query']);如果可以,请尝试或完全删除 tax_query。

$housequery = array(
            'relation' => 'AND',
            'orderby' => 'title',
            'order' => 'ASC',
            $s_feat_array,
            $s_loc_array
        );
于 2012-08-11T18:12:48.480 回答