Выводить похожие записи в конце блога стало популярным среди блогеров. У каждого блогера на его ресурсе выводятся такие «похожие записи», в том числе и у меня. Этот способ хорош как для внутренней оптимизации, так и для удобства читателю.
Как вывести похожие записи на 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, без плагинов


Как установить минимальную сумму для заказа – WooCommerce?
URL ссылка миниатюры для картинки – WordPress
Как добавить визуальный редактор для «Цитат (Отрывок)» – WordPress ?
Как добавить «Цитату (Отрывок)» для страниц?
Вывод последних записей в wordpress
Как на WordPress сделать счетчики полупрозрачными?
Как скрыть фразу «Спасибо вам за творчество с WordPress»?

Подскажите, как можно исключить из массива записи с дополнительной несоответствующей меткой.
а вы пробовали решить этот вопрос при помощи удаления несоответствующих меток или их замены?
/*я видимо не совсем точно сформулировал вопрос) Заранее скажу что моя задача решилась другим путем, и все же, если кто вдруг столкнется: задача на кошках: нужно вывести через $my_query записи с меткой “кошка” и исключить из них записи с двумя метками “кошка” и “наглая рыжая морда”. метки удалять нельзя. Можно ли это сделать,например ,как-то так: ‘tag_not_in’ => array(tag_name “наглая рыжая морда”}*/
Если можно, дайте просто готовый код, мне так будет удобней разобраться. Спасибо за комментарий.