как и в другие времена, после публикации здесь я нашел свой вопрос. Может быть, это не самое умное решение, но оно работает для меня.
Я использую новый tax_query, как прокомментировано в http://www.wpmods.com/query-multiple-taxonomies-in-wp-3-1/
В основном, если я получу 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;
Надеюсь, это поможет, я только что обнаружил, и пока мои тесты работают нормально