Похожие записи — решение проблемы

Похожие записи

Добро пожаловать на наш сайт!

Сегодня мне хотелось бы поговорить непосредственно о списке похожих записей и каким образом все это темное дело можно организовать. Для начала хотелось бы отметить тот факт, что список похожих записей – это необходимое дополнение для любого сайта на WordPress.

Зачем нам нужен список похожих записей

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

Он нужен пользователям. Пользователи любят красивое, пользователи любят интуитивно понятное, а еще пользователи любят, когда для них стараются сделать юзабильно, а еще пользователям нравится читать.

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

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

Ага, конечно – легко звучит, а как по поводу вывода похожих записей на практике?

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

Для начала хочу Вас успокоить – есть аж целых два пути.

Выводим похожие записи:
• С помощью плагина
• С помощью кода – без плагина

Простой способ – плагин похожие записи

Плагин вордпресс похожие записи на сегодняшний день является одним из самых оптимальных вариантов — и называется он Simple Tags. Думаю, по названию Вы уже догадались, что основная фишка данного плагина – основана на тэгах. И вроде бы на самом деле похожие записи плагин WordPress весьма прост, но есть некоторый минус.

В частности – он тяжелый. Ни для кого не секрет, насколько важна скорость Вашего сайта (об этом мы еще поговорим), поэтому любое утяжеление весьма желательно обходить стороной.

Есть другой плагин для похожих записей – это Related Posts. В нем нет никаких левых наворотов, которые нам просто не нужны. В целом установка проходит весьма стандартно. Единственное, что нам придется сделать после активации – в код нужно будет вставить данную строчку <? php wp_related_posts () ;> и снова же указываем непосредственно количество записей, которые нужно отображать. При большом желании с помощью данного плагина можно еще настроить и RSS и много других плюшек, но они позже и в другой статье. Так же плагин позволяет настраивать минимальные правила исключения, что тоже является полезным дополнением.

Легкий путь не для нас – хотим сложный, код!

Хозяин-барин, как говориться. Итак, отправляемся в functions.php (они непосредственно расположены в редакторе внешнего вида в панели администратора). Дальше Вам нужно вставить вот эти странные строчки:

<?

01.function related_posts_shortcode( $atts ) {

02.extract(shortcode_atts(array(

03.’limit’ => ‘5’,

04.), $atts));

05. 

06.global $wpdb, $post, $table_prefix;

07. 

08.if ($post->ID) {

09.$retval = ‘<ul>’;

10.// Get tags

11.$tags = wp_get_post_tags($post->ID);

12.$tagsarray = array();

13.foreach ($tags as $tag) {

14.$tagsarray[] = $tag->term_id;

15.}

16.$tagslist = implode(‘,’, $tagsarray);

17. 

18.// Do the query

19.$q = «SELECT p.*, count(tr.object_id) as count

20.FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy =’post_tag’AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id  = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID

21.AND p.post_status = ‘publish’

22.AND p.post_date_gmt < NOW()

23.GROUP BY tr.object_id

24.ORDER BY count DESC, p.post_date_gmt DESC

25.LIMIT $limit;»;

26. 

27.$related = $wpdb->get_results($q);

28.if ( $related ) {

29.foreach($related as $r) {

30.$retval .= ‘

31.<li><a title=»‘.wptexturize($r->post_title).'» href=»‘.get_permalink($r->ID).'»>’.wptexturize($r->post_title).'</a></li>

32.’;

33.}

34.} else {

35.$retval .= ‘

36.<li>No related posts found</li>

37.’;

38.}

39.$retval .= ‘</ul>

40.’;

41.return $retval;

42.}

43.return;

44.}

45.add_shortcode(‘related_posts’, ‘related_posts_shortcode’);

46.}?>

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

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