Добрый день, уважаемые.
Столкнулся со следующей проблемой. Есть много постов. У каждого поста есть много тегов. Решил я добавить к каждому посту ссылки на "подобные посты". В интернете нашел вариант, и применил его:
$tags = wp_get_post_tags($post->ID);
if ($tags):
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'posts_per_page'=>3,
'ignore_sticky_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
//...
Проверил на одном посте - работает. Показывает 3 поста
по первому тэгу. Полез глубже, и увидел, что можно по всем тегам искать, если это:
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
заменить на это:
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => array($tag_ids),
Но проверив на том же самом посте, список подобных постов не показался. Т.е. в первом случае (когда выбирается первый тег и по нём идет поиск) - список показывается, во втором случае - нет (хотя по логике, они должны показываться).
Что я делаю не так? Заранее благодарен за ответы.