BloGGood.ru

Блог Костаневича Степана

WordPress, PHP, HTML, CSS, Windows

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как вывести похожие записи без плагина

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

2013-04-19 / Вр:22:11 / просмотров: 5637

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

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

4 Ответов на комментарий - Как вывести похожие записи без плагина

  1. mart

    Подскажите, как можно исключить из массива записи с дополнительной несоответствующей меткой.

  2. Avatar photo Степан => автор блога

    а вы пробовали решить этот вопрос при помощи удаления несоответствующих меток или их замены?

  3. mart

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

  4. Avatar photo Степан => автор блога

    Если можно, дайте просто готовый код, мне так будет удобней разобраться. Спасибо за комментарий.

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 810
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4716