Добро пожаловать на наш сайт!
Сегодня мне хотелось бы поговорить непосредственно о списке похожих записей и каким образом все это темное дело можно организовать. Для начала хотелось бы отметить тот факт, что список похожих записей – это необходимое дополнение для любого сайта на 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.}?>
Конечно, вроде ничего и трудного, но все же я бы, не рекомендовала лезть туда, пока не наберетесь опыта, а пока вполне будет достаточно и обычного плагина – ведь плагины и создавались для того, чтобы Вы не грузили свою головку и не заморачивались проблемами организации Вашего сайта. Пользуйтесь готовыми решениями, главное это делать с умом!