Я пытаюсь показать список сообщений, связанных с категорией X и тегом Y. Я пробовал следующий код:
$args = array(
'posts_per_page' => 4,
'tag_id' => $tag_id,
'cat' => $cat_id,
);
query_posts($args);
но он не работает правильно и возвращает все сообщения в категории.
Хотелось бы услышать любое понимание, которое вы могли бы иметь
query-posts
tags
Ханнит Коэн
источник
источник
Ответы:
Редактировать: см. Ниже для правильного способа запроса пересечения категории и тега.
источник
Я думаю, что это ошибка в WordPress, которая была прокомментирована в другом месте, попробуйте использовать имя тега, а не идентификатор, тогда он должен работать:
Дайте нам знать, как вы поживаете, не уверен, что происходит с тегами с несколькими словами в имени.
источник
Я столкнулся с этой же проблемой и решил ее, сделав запрос MySQL.
вкратце: get_post ($ args) вернет вам сообщения, которые имеют категорию = MyCategory ИЛИ тег = MyTag.
что вы хотите изменить OR на AND .
моя логика заключалась в том, чтобы идти прямо с MySQL Query:
Я использовал wpdb вместо query_post ();
Немного кода (возвращение опубликованных постов с категорией MyCat и тегом MyTag) :
Это грязный способ сделать это, но я надеюсь, что это поможет =)
источник
WP_Query
помощьюtax_query
отношения AND , не требующего необработанного SQL.Этот код работает:
источник
источник