WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Добавить выборку строго по таксономии

Доброго времени суток

Суть задачи такова : есть post_type ="knb_posts"
В нему прикручено 2 таксономии

  1. taxonomy => 'knb_categories'
  2. taxonomy => 'knb_city'

Все посты "knb_posts" привязываются к одной и другой таксономии.

Теперь вопрос: Как мне сделать выборку всех постов при условии что есть точно задая таксономия knb_city и knb_categories

тесть человек выбирает knb_categories - любая, а knb_city = 'piter' как мне отобразить все записи, которые строго относятся к knb_city = 'piter'

я притаюсь изменить запрос через

pre_get_posts
add_action( 'pre_get_posts', 'search_filter');

public function search_filter( $query ){
  if( ! is_admin() &&  $query->is_main_query()){

				$query->set( 'tax_query',
						   array(
								'relation' => 'AND',
								   array(
									   'taxonomy' => 'knb_city',
									   'field'    => 'id',
									   'terms'    => array(54),
									   'operator' => 'AND'
								   )
						   )
			   );   

		}
	}

Но этот код не работает. Подскажите, как изменить этот запрос?

0
homeandriy
5 лет назад 3
  • 0
    qwert555154 naytikurs.ru

    Для основного запроса выборка по двум таксономиям, пример: http://example.com/?catalog=dzhinsy&brand=brand_slug

    Возможно добавить еще (если не нет)

     //связь таксономий с произвольными типами записей для отображения на сайте
    
     function my_filter($query) {
    
      if ( !is_admin() && $query->is_main_query() && (is_tax(tax1) or is_tax(tax2)) ) {
    
    	 $query->set('post_type', 'product'); 
    
    }
    add_action('pre_get_posts','my_filter');
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация