BloGGood.ru

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

WordPress, PHP, HTML, CSS, Windows

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

Главная » Wordpress » Вывод похожих статей в WordPress без плагинов

Вывод похожих статей в WordPress без плагинов

2013-02-02 / Вр:23:37 / просмотров: 7758

В это позднее ночное время я хочу рассказать о выводе похожих статей в WordPress без плагинов. Недавно, точнее час тому назад по этой дате 03.02.2012, я использовал для вывода похожих статей плагин "WordPress Related Posts". Плагин, в принципе, не плохой, но есть свой минус - я не мог указать место в контенте, где ему отображаться. Вот, потому и решил попробовать выводить похожие статьи без плагина.

Итак, для чего вообще нужно выводить похожие статьи?
1). Для пользователя удобней найти по теме материал.
2). Автоматическая перелинковка страниц.

Вывод похожих статей в WordPress без плагинов

Существуют два варианта вывода похожих статей в WordPress.

Вариант №1

В этом варианте нужно открыть файл single.php (админ-панель => Внешний вид => Редактор => single.php). Вставить простой код в то место, где вы хотите видеть вывод похожих статьей. Вот и сам код:

<div>
<h3>Похожие темы:</h3>
<?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'=>4,
 '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_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?>
</div>

Настройка кода вывода похожих статей в wordpress.

Чтобы указать количество вывода статей, обратите внимание на [11] пункт в коде.
'showposts'=>4 - это цифра вывода статей. Вы можете смело поменять 4 на свое значение. 

Если вы хотите вывести еще и карантинные миниатюры, тогда вам следует добавить к коду еще одно значение.

 <?php the_post_thumbnail(); ?> 

Вот так оно будет выглядеть:

<!--Похожие темы -->
<div>
<h2>Похожие темы:</h2>
<?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'=>4,
 '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_attribute(); ?>"><?php the_post_thumbnail(); ?><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?></div>

Обратите внимание на [20] пункт в коде. Там я и сделал изменения. Конечно, для оформления внешнего вида, вам следует прописать в CSS стили. Если не понятно, пишите в комментарии.

Вариант №2

Принцип тот же, только вместо файла single.php добавляем код в файл functions.php.
Откройте файл  functions.php  (админ-панель => Внешний вид => Редактор => functions.php). Вставьте этот код:


//Похожие записи в WordPress без плагинов (тег)
function digatalart_tag_rel_post(){
 global $post;
 $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, // Количество выводимых похожих записей.
 'caller_get_posts'=>1
 );
 $my_query = new wp_query($args);
 if($my_query->have_posts()){
 echo '<ul id="relPost">';
 while($my_query->have_posts()){
 $my_query->the_post();
 ?>
 <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
 <?php
 }
 echo '</ul>';
 }
 else{
 echo '<p>Другие записи по теме отсутствуют.</p>';
 }
 wp_reset_postdata();
 }
}

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

<?php
digatalart_tag_rel_post();
?>

Вот, в принципе, и все, что я хотел рассказать Вам. Теперь вы знаете, как можно вывести похожие статьи в WordPress без плагина. Выберите подходящий вариант.

С уважением webmasterok2009

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

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

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

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

;-) :| :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