Как вывести похожие страницы в WordPress

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

Выводим похожие страницы в WordPress с помощью плагина

Самый простой способ вывести похожие страницы в WordPress это использовать плагин.

Первым делом вам необходимо установить и активировать плагин Yet Another Related Posts Plugin (YARPP). После активации вам необходимо перейти в раздел Параметры » YARPP административной панели сайта для настройки плагина.

yarpp-pages[1]

На странице настроек плагина прокручиваем ее до раздела ‘Display Options for your website’. Под настройкой Automatically Display отмечаем только галочку ‘pages’, и не ставим ее для записей и медиа. Вот и все, теперь вы можете сохранить проделанные изменения и YARPP начнет выводить похожие страницы под контентом страницы на вашем сайте WordPress.

Обратите внимание, что YARPP, наряду с некоторыми другими плагинами WordPress, блокируется некоторыми хостерами в виду его большой нагрузки на базу данных. Другая проблема, с которой вы можете столкнуться, это что YARPP не сможет осуществить поиск по базе данных, если движок для MySQL установлен в значение InnoDB.

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

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

Наиболее эффективный способ вывести похожие записи, это поиск их по тегам или рубрикам. Однако, в виду того, что страницы в WordPress не имеют ни тегов, ни рубрик, нам сначала необходимо будет включить рубрики и метки на страницах WordPress. Для этого, все что вам нужно сделать, это установить и активировать плагин Post Tags and Categories for Pages.

Плагин работает «из коробки», поэтому у него нет опций для настройки. После активации он просто включает теги и рубрики для ваших страниц WordPress.

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

После того, как вы добавили теги к нескольким страницам, нужно добавить код в файл functions.php вашей темы или в плагин для сайта WordPress:

function wpb_related_pages() { 
$orig_post = $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(
'post_type' => 'page',
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5
);
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedpages"><h3>Похожие страницы</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_post_thumbnail('thumb'); ?></a></div>
<div class="relatedcontent">
<h3><a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_time('M j, Y') ?>
</div>
</li>
<? }
echo '</ul></div>';
} else { 
echo "Похожие страницы не найдены";
}
}
$post = $orig_post;
wp_reset_query(); 
}

Этот код ищет теги, назначенные страницам, а затем выполняет запрос к базе данных, чтобы найти страницы с одинаковыми тегами. Для вывода списка страницы вам необходимо отредактировать шаблон вашей страницы. Скорее всего это будет либо файл page.php, либо content-page.php. Просто добавьте следующую строку кода в то место, где нужно вывести список похожих страниц.

<?php wpb_related_pages(); ?> 

Он отобразит список похожих страниц на любой странице в WordPress. Конечно же, выглядеть блок будет не очень красиво, поэтому вам нужно будет добавить несколько CSS и стилей для того, чтобы «вписать» блок в тему.

Примечание: код в functions.php обрабатывается так же, как и плагины.

Надеемся, что эта статья помогла вам вывести похожие страницы в WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 4.2/5 (5 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Вован

    Спасибо, всё получилось Только у вас в коде есть айди и классы блока, можно было и файл стиля также выложить. :)

    • http://web-devise.com/ ADv

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

  • Андрей

    благодарю! походу единственная грамотная статья на эту тему

  • Андрей

    Только вопрос один, я сделал с помощью плагина, а можно какие-то страницы исключить из общего правила. Мне к примеру на странице «контакты» совершенно не к месту надпись «похожие записи»?

Scroll To Top