使用分类法创建高级搜索

时间:2011-09-09 11:14:31

标签: wordpress taxonomy custom-post-type

在经历了3天的困难之后,我决定在这里寻求帮助。

我正在尝试使用分类法和关键字字段创建高级搜索页面。你可以在http://alianzasuperior.com/empleo/busqueda-avanzada/看到我实际得到的东西(不要惊慌,它的西班牙语,但只是想象分类法,你会没事的)

关键字部分工作正常。我还可以创建分类法页面,例如taxonomy-job_type.php来处理单独的分类法,它也适用。

问题在于我尝试搜索多个分类法,以及这些分类的多个术语。我试图用scribu插件“查询多个分类法”来解决这个问题,但我不能。

有人做了类似于我试图做的事情吗?

任何帮助或线索都会让我非常感激

2 个答案:

答案 0 :(得分:0)

和你一样,我也在挖掘wordpress多重搜索的深度, 在wordpress stackexchange中查看我的问题,它可能对你有帮助。

直到我还没有成功。

https://wordpress.stackexchange.com/questions/27158/wordpress-multiple-category-search

答案 1 :(得分:0)

和其他时间一样,在这里发帖后我找到了自己的问题。也许它不是更智能的解决方案,但它为我工作。

我正在http://www.wpmods.com/query-multiple-taxonomies-in-wp-3-1/

中使用新的tax_query

基本上,如果我得到2个分类,例如两个术语

$job_type='full-time+free-lancer';
$job_cat='designer+programmer';

我执行以下操作:

$custom_query=false;
$myquery['tax_query'] = array( 'relation' => 'AND');


    if ($_GET['job_type']){
        $job_type=explode('+',$_GET['job_type']);   
        foreach ($job_type as $k => $name){
                $job_types[]=$name;                 
        }
        array_push($myquery['tax_query'],array('taxonomy' => 'job_type','terms' =>$job_types,'field' => 'slug' ,'operator' => 'IN'));
    $custom_query=true;
    }



    if ($_GET['job_cat']){
        $job_cat=explode('+',$_GET['job_cat']);
        foreach ($job_cat as $k => $name){
            $job_cats[]=$name;
        }
        array_push($myquery['tax_query'],array('taxonomy' => 'job_cat','terms' => $job_cats,'field' => 'slug','operator' => 'IN'));

    $custom_query=true;
    }

然后,如果我有多个术语,我使用自定义查询:

if($custom_query) query_posts($myquery);

如果您想将其与关键字搜索混合,请执行以下操作:

$myquery['s']= $yourKeywordVar;

希望有帮助,我刚刚发现并且到目前为止我的测试工作正常