Запрос пользовательских записей по таксономии категории

1 апр. 2011 г., 13:55:42
Просмотры: 30.5K
Голосов: 8

Надеюсь, у вас всё хорошо,

Мой вопрос краткий: я пытаюсь сделать выборку из произвольного типа записей по определенной таксономии;

Для наглядности используем следующий пример:

Произвольный тип записи: 'Products';

Таксономия: 'Categories';

Категории внутри 'Categories':

(1) Category 1 (2) Category 2 (3) Category 3

Итак, я хочу получить записи из произвольного типа записей 'Products' и внутри 'Category 1'

Как это можно сделать?

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

<?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $post_per_page = -1; // -1 показывает все записи
    $do_not_show_stickies = 1; // 0 чтобы показать прикрепленные записи
    $args=array(
    'post_type' => 'products',
    'taxonomy' => 'category-1',
    'paged' => $paged,
    'posts_per_page' => $post_per_page,
    'order' => 'ASC',
    );
    $temp = $wp_query;  // присваиваем оригинальный запрос временной переменной для последующего использования
    $wp_query = null;
    $wp_query = new WP_Query($args);
    if( have_posts() ) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
0
Все ответы на вопрос 2
0
15

Существует 3 способа сделать это:

а)

...
'category_name' => 'category-1'
...

б)

...

'taxonomy' => 'category',
'term' => 'category-1',

...

в)

...
'tax_query' => array(
  array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => array( 'category-1' ) )
)
...

Подробнее: http://codex.wordpress.org/Function_Reference/WP_Query

1 апр. 2011 г. 14:12:58
0

Массив tax_query с таксономией, полем и терминами. Где terms->business является категорией таксономии taxonomy->job_category

$args = array(
    'post_type' => 'featured_job', // Тип записи - рекомендуемая вакансия
    'post_status' => 'publish', // Статус - опубликовано
    'posts_per_page' => 9999999, // Количество записей на странице
    'orderby' =>  'date', // Сортировка по дате
    'order' => 'DES', // Порядок сортировки - по убыванию

    'tax_query' => array( // Запрос по таксономии
        array(
            'taxonomy' => 'job_category', // Название таксономии - категория вакансий
            'field'    => 'slug', // Поле для сопоставления - ярлык
            'terms'    =>  'business', // Термин - бизнес
        ),
    ),
);
1 нояб. 2019 г. 07:31:15