Вывод похожих записей

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

 

 

 

 

 

Приветствую! Вот наконец-то я и дождался своего отпуска, впереди целый месяц отдыха. Но это не означает что прекратится работа на блоге. И сегодня по плану очередной пост из рубрики Кодекс.

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

 

Вывод в конце каждого поста списка связанных записей улучшает поведенческие факторы на блоге, увеличивает время нахождения на ресурсе и т.д. Для этого не обязательно устанавливать плагины и достаточно обойтись простым кодом.

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

Код для вывода похожих записей на блоге

Критерием схожести будет служить присвоение рубрики статье, т.е. в конце каждого поста можно вставить похожие записи из той же рубрики. И для этого не требуется присваивать посту метки (теги) — я их и не использую, от индексации они все равно закрываются, т.к. приводят к дублированию контента внутри одного домена, удобство их использования лично для меня остается под вопросом, а оставлять для красоты — не практично…

До того как я стал использовать код для вывода похожих записей я пользовался плагином WordPress Related Posts и хочу заметить, что внешний вид списка ничем не отличается ни при использовании плагина, ни после отказа он него в пользу кода. И это очень хорошо, что читатель внешне не находит отличий, ему не приходится привыкать к чему-то новому. Да я и сам люблю стабильность.

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

Немножечко про стабильность… Вот уже на протяжении двух месяцев Блог Свободного Вебмастера немного изменил свой внешний вид и перешел от трехколоночного дизайна (2 сайдбара + основная часть) к двухколоночному (остался один правый сайдбар, основная часть расширилась). Я так и не находил времени узнать у своих читателей мнения по поводу изменений. Как Вы считаете, так лучше?

Извиняюсь за оффтоп, продолжаю тему и собственно привожу сам код, способный заменить плагины и выводить список похожих записей без плагинов в конце каждой статьи:

<div class="sample-posts">
<h4>Читайте также:</h4>
	<?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',
			'orderby' => 'rand',
			'ignore_sticky_posts' => '1',
			'no_found_rows' => true,
			'cache_results' => false
		);
		$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_title(); ?></a></li>
				<?php
			}
			echo '</ul>';
		}
		wp_reset_query();
	}
	?>
</div>

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

Обратите внимание на строку:

'showposts' => '5',

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

По умолчанию в списке будут находиться самые последние записи из рубрики, если необходимо выводить их в случайном порядке (рандомно), то после этой строки добавьте еще одну:

'orderby' => 'rand',

Вот в принципе и все настройки.

В CSS можно задать дополнительные настройки внешнего вида, специально для этого исполняемый код заключен в класс .sample-posts

С помощью таблиц стилей есть возможность задать фон или подложить картинку на задний план, обвести в рамку, использовать другой шрифт, для списка использовать другие маркеры и т.д. — возможности ограничены лишь спецификацией CSS и собственной фантазией!

Желающих обсудить приглашаю к комментированию и если не трудно ответьте, пожалуйста, на вопрос заданный в середине записи)

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх