Я хочу установить «post_type OR Tax_query»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Я хочу установить «post_type OR Tax_query»

Сообщение Anonymous »

На самом деле у меня есть такая зацепка на pre_get_post:

Код: Выделить всё

add_action('pre_get_posts', 'my_post_pre_get_posts');
function my_post_pre_get_posts($query)
{
if (!is_admin() && $query->is_main_query() && $query->is_home()) {
$query->set('posts_per_page', 3);

//FILTERS
$type = array();
if(!empty($_GET['type'])) {
$type = explode(',', $_GET['type']);
}else {
$type = array('post', 'testimonial', 'project');
}
$query->set('post_type', $type);

//CATEGORIES
if(!empty($_GET['category'])) {
$category = explode(',', $_GET['category']);

$args = array(
'relation' => 'OR',
);

foreach ($category as $categorie) {
array_push($args,
array(
'taxonomy' => 'category',
'field'    => 'slug',
'terms'    => $category
)
);
}
$query->set('tax_query', $args);

}
}
}
При этом на моей домашней странице отображаются сообщения, а также два других типа сообщений: "проект" и "отзывы". >.

Мои сообщения имеют категории (но в проекте и отзывах их нет), и я хотел бы фильтровать их с их помощью. Но я не хочу, чтобы при фильтрации с помощью таксономии скрывались результаты проекта и отзывов.

Поэтому вместо отношения «И» между post_type и таксономию, мне нужно отношение «ИЛИ». Как вы думаете, это возможно? Нужно ли мне переписывать глобальный $wpdb?

Подробнее здесь: https://stackoverflow.com/questions/391 ... -tax-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»