Посты запросов с двойной таксономией
-
16-10-2019 - |
Вопрос
Таким образом, у меня есть пользовательский тип, называемый «поставщики» и два пользовательских таксономии для него. Один - «состояние», а другой - «тип».
Я пытаюсь перечислить всех поставщиков из определенного состояния на одной странице. Я использую файл под названием «Таксономия-State.php», который работает отлично. Он отображает всех поставщиков в штате.
Теперь то, что я хочу сделать, это указывать типы поставщиков в порядке. Итак, страница будет выглядеть примерно так:
Продавцы в «государстве»:
Тип поставщика № 1: поставщик #1 поставщик № 2 поставщик #3
Тип поставщика № 2: поставщик #1 поставщик #2 Поставщик № 3
Я получил его, чтобы отображать поставщиков по штату. Но мне нужно отобразить их в вышеупомянутом макете.
У меня есть представление о том, как это сделать. Но мне нужно иметь возможность сделать запрос, который может получить поставщика из определенного состояния и определенного типа поставщика.
Заранее спасибо,
Ален
Решение
Надеюсь, кто -то еще уведет этот ответ, у меня сейчас нет времени, чтобы написать полное решение прямо сейчас ...
Если вы используете WordPress 3.1, посмотрите на tax_query
параметр, который вы можете передать query_posts
. Анкет Он может справиться с несколькими таксономиями и отношениями между ними.
Пост Отто WordPress 3.1: Advanced Taxomony запросы Лучшее объяснение, которое я видел о том, что могут сделать налоговые запросы, и как их использовать ...
В старых версиях WP вы застряли, используя плагин как этот, или бросая свои собственные довольно сложные запросы SQL.
Другие советы
Для WP 3.0.x Am использую эту функцию:
function posts_search ($post_type,$taxonomies) { // $taxonomies should be an array ('taxonomy'=>'term', 'taxonomy2'=>'term2')
foreach ($taxonomies as $key=>$value) {
$args=array('post_type'=>$post_type,'post__in'=>$ids,$key=>$value,'showposts'=>-1);
unset($ids); $ids=array();
foreach($posts=get_posts($args) as $post) { $ids[]=$post->ID; }
if (empty($ids)) return false;
}
return $posts;
}
А вот экзамен:
$posts = posts_search ('produtos',array('taxo1'=> 'term-aa','taxo2'=>'term-bb')); if($posts) { foreach($posts as $post) { ...
Позволяет мне запросить посты с двумя параметрами таксономий. Если это может помочь.
К вашему сведению, функция не от меня.