Создать расширенный поиск с таксономиями - PullRequest
0 голосов
/ 09 сентября 2011

как всегда, после трехдневной борьбы с проблемой, я решаю обратиться за помощью сюда.

Я пытаюсь создать страницу расширенного поиска с таксономиями и полем ключевых слов. Вы можете видеть, что я на самом деле получил в http://alianzasuperior.com/empleo/busqueda-avanzada/ (не паникуйте, это по-испански, но просто думайте как таксономии, и вы будете в порядке)

Ключевая часть работает нормально. Я также могу создавать страницы таксономий, например, taxonomy-job_type.php для обработки отдельной таксономии, и она работает также.

Проблема заключается в том, что я пытаюсь выполнить поиск по нескольким таксономиям и по нескольким терминам для этих таксономий. Я попытался выяснить это с помощью плагина scribu "запрос нескольких таксономий", но я не смог.

Кто-то сделал что-то похожее на то, что я пытаюсь сделать?

Любая помощь или подсказка, я буду очень признателен

Ответы [ 2 ]

0 голосов
/ 10 сентября 2011

как и в другие времена, после публикации здесь я нашел свой вопрос. Может быть, это не самое умное решение, но оно работает для меня.

Я использую новый 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;

Надеюсь, это поможет, я только что обнаружил, и пока мои тесты работают нормально

0 голосов
/ 09 сентября 2011

Как и вы, я также копаюсь в глубине множественного поиска по WordPress, зацените мой вопрос в wordpress stackexchange, он может вам помочь.

До сих пор у меня тоже не было успеха.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...