Как вывести похожие записи WordPress без плагина

Хук вордпресс: выводим похожие записи WordPress без плагина, сортируя по рубрикам или меткам.

Выводим похожие записи по рубрикам

Представленный ниже код необходимо установить в файл вывода одиночных постов (как правило — это single.php). После его установки, в конце каждой записи у Вас будут отображаться посты, относящиеся к одной и той же рубрике в виде маркированного списка. Количество выводимых постов можно заменить на удобное Вам (смотрите комментарии в коде).

12345678910111213141516171819202122232425
<?php$categories= get_the_category($post->ID);if($categories){$category_ids=array();foreach($categoriesas$individual_category)$category_ids[]=$individual_category->term_id;$args=array('category__in'=>$category_ids,// это отвечает за вывод по рубрикам'post__not_in'=>array($post->ID),// это исключает текущую запись'showposts'=>8,// это отвечает за количество выводимых записей'orderby'=>'rand',// это за отображение в случайном порядке'ignore_sticky_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()?>"><?php the_post_thumbnail('thumbnail');?><br /><?php the_title();?></a></li><?php}echo'</ul>';}wp_reset_query();}?>

Выводим похожие записи по меткам

Представленный ниже код необходимо установить в файл вывода одиночных постов (как правило — это single.php). После его установки, в конце каждой записи у Вас будут отображаться посты, относящиеся к одной и той же метке в виде маркированного списка. Количество выводимых постов можно заменить на удобное Вам (смотрите комментарии в коде).

12345678910111213141516171819202122232425
<?php$tags= wp_get_post_tags($post->ID);if($tags){$tag_ids=array();foreach($tagsas$individual_tag)$tag_ids[]=$individual_tag->term_id;$args=array('tag__in'=>$tag_ids,// это отвечает за вывод по меткам 'orderby'=>rand,// это отвечает за рандомный вывод 'caller_get_posts'=>1,// исключаем повторение одинаковых записей 'post__not_in'=>array($post->ID),// это исключает текущую запись'showposts'=>8// задаем количество выводимых записей );$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()?>"><?php the_post_thumbnail('thumbnail');?><br /><?php the_title();?></a></li><?php}echo'</ul>';}wp_reset_query();}?>