Выводить похожие записи в конце блога стало популярным среди блогеров. У каждого блогера на его ресурсе выводятся такие «похожие записи», в том числе и у меня. Этот способ хорош как для внутренней оптимизации, так и для удобства читателю.
Как вывести похожие записи на wordpress?
Для того, чтобы вывести списком похожие записи на вордпресс существует множество различных плагинов. Но сейчас я не буду говорить о плагинах, которые выводят похожие записи на вордпресс, так как тема поста называется «как вывести похожие записи без плагина». Концентрирую ваше внимание - без плагина! Так что, приступим, и никаких плагинов.
○ откройте файл single.php в вашей теме. Это можно сделать в админ-панеле, перейдите в меню «Внешний вид» => «Редактор» => «Одна запись (single.php)».
○ выберите один из кодов, которые показаны снизу, и вставьте в файл single.php в то место, где вы желаете вывести список похожих записей.
1). Если вам нужно вывести похожие записи по меткам, скопируйте и вставьте этот код:
<?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>5 // Количество записей для показа. ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<h3>Похожие статьи</h3><ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } } ?>
2). Если вам нужно вывести похожие записи по рубрикам, скопируйте и вставьте этот код:
<?php $categories = get_the_category($post->ID); if ($categories) { $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'=>5 // Количество записей для показа. ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<h3>Похожие статьи</h3><ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title=" <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } } ?>
3). Этот код выводит похожие записи по меткам случайно, наугад (т.е., рандомно)
<?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>4, 'orderby' => 'rand' ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) { echo '<h3>Похожие статьи</h3><ul>'; while ($my_query->have_posts()) : $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title=" <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php endwhile; } echo '</ul>'; wp_reset_query(); } ?>
4). Если вам нужно вывести похожие записи с картинками, скопируйте этот код:
<?php the_post_thumbnail(); ?>
и вставляйте его перед или после вывода ссылки записей, так, как в 16 строчке. Это будет выглядеть вот так:
<?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>4, 'orderby' => 'rand' ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) { echo '<h3>Похожие статьи</h3><ul>'; while ($my_query->have_posts()) : $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(); ?><?php the_title(); ?></a></li> <?php endwhile; } echo '</ul>'; wp_reset_query(); } ?>
Итак, вы можете применить этот метод ко всем остальным кодам. Если картинка в похожих записях не отображается, значит вы не добавили в статью миниатюру. Если вы не знаете что это такое или как добавляется миниатюра, пишите в комментариях, расскажу и подскажу.
Кстати, указав стиль CSS к этим кодам, вы сможете изменять внешний вид оболочки похожих записей. Ну, все, удачи!!!
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330379 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274711 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222615 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187975 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186569
4 Ответов на комментарий - Как вывести похожие записи без плагина
Добавить комментарий
Метки: wordpress, без плагинов
Подскажите, как можно исключить из массива записи с дополнительной несоответствующей меткой.
а вы пробовали решить этот вопрос при помощи удаления несоответствующих меток или их замены?
/*я видимо не совсем точно сформулировал вопрос) Заранее скажу что моя задача решилась другим путем, и все же, если кто вдруг столкнется: задача на кошках: нужно вывести через $my_query записи с меткой “кошка” и исключить из них записи с двумя метками “кошка” и “наглая рыжая морда”. метки удалять нельзя. Можно ли это сделать,например ,как-то так: ‘tag_not_in’ => array(tag_name “наглая рыжая морда”}*/
Если можно, дайте просто готовый код, мне так будет удобней разобраться. Спасибо за комментарий.