2015-07-11 2 views
2

Я искал какое-то время для метода, который будет использовать использование категории__ и при использовании пользовательской таксономии для этих категорий.Wordpress query using category__and with tax_query

У меня есть пользовательский тип сообщения «проект», внутри этого проекта я использовал «портфель» пользовательской таксономии, чтобы классифицировать проекты.

Если я использую стандартный запрос, как это (ничего не выходит):

   $args = array(
        'post_type' => 'project', 
        'posts_per_page' => 12, 
        'orderby'=> 'title', 
        'order' => 'ASC', 
        'category' => $vcategory 
      ); 
      $loop = new WP_Query($args); 

Я пытался использовать что-то вроде этого, а также:

    $args = array(
        'post_type' => 'project', 
        'posts_per_page' => 12, 
        'orderby'=> 'title', 
        'order' => 'ASC', 
        'tax_query' => array(
         'taxonomy' => 'tagportfolio' 
        ), 
        'category__and' => array($vcategory) 
      ); 
      $loop = new WP_Query($args); 

У меня есть приложение, которое позволяет люди сортируют сообщения по категориям, используя три раскрывающихся окна. box1 box2 box3

Если выбор сделан из box1, сообщения на странице обновляются до этой категории.

Если тогда выбор сделан из box2, страница будет обновляться сообщениями, которые содержат категорию из коробки1 & & box2.

Если после того, как выбор сделан из Box3 страницы будут обновлены с сообщениями, которые содержат категории из box1 & & BOX2 & & Box3.

Вот почему я надеялся использовать category__and. Я знаю, что я могу запросить категорию таксономии, используя термины => (термины), хотя это не будет работать для моих нужд, поскольку оно будет показывать сообщения из box1, которые также не содержат категорию из box2.

Я искал ситуацию, которая следует & & логика не ||.

спасибо.

ответ

2

Категории являются таксономиями, но они получают специальное лечение, потому что они встроены. Недвижимость category__and будет работать только для таксономии категории.

Для пользовательских таксономий, вы можете использовать tax_query запрашивать сообщения, которые имеют несколько терминов в этой систематике:

'tax_query' => array(
    array(
     'taxonomy' => 'tagportfolio', 
     'field'  => 'term_id', //change to name or slug if necessary 
     'terms'  => $vcategory, 
     'operator' => 'AND' 
    ) 
), 

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

+0

Большое вам спасибо! При чтении кода wp я полностью пропустил свойство operator в tax_query. – GDT