Помогите исправить php код вывода похожих материалов по тегам и категотиям.
Если есть материалы с одинаковым тегом... код их выводит
если одинаковых тегов не... он должен выводить материалы с той же категории... но не выводит
помогите исправить(((
Если есть материалы с одинаковым тегом... код их выводит
если одинаковых тегов не... он должен выводить материалы с той же категории... но не выводит
помогите исправить(((
Код |
---|
<div class="related_posts""> <p>Похожие материалы</p> <?php //for use in the loop, list 5 post titles related to first tag on current post $tags = wp_get_post_tags($post->ID); $categories = get_the_category($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, // Сортировка производится по тегам 'orderby'=>rand, // Добавляем условие сортировки рандом (случайный подбор) 'post__not_in' => array($post->ID), 'showposts'=>4 // Цифра означает количество выводимых записей ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"> <?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li> <?php } echo '</ul>'; } wp_reset_query(); } else { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID), 'showposts'=>4, 'orderby'=>rand, 'caller_get_posts'=>1); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"> <?php the_post_thumbnail(); ?><br /><?php trim_title_words(7, '...'); ?></a></li> <?php } echo '</ul>'; } wp_reset_query(); } ?> </div> |
Изменено:
Armen Adamyan - 6 Декабря 2015 17:29