Недавно один из наших читателей интересовался, существует ли способ вывести похожие страницы вместо записей в WordPress. Мы уже показывали как вывести похожие записи в WordPress с помощью либо без помощи плагинов. В этой статье мы покажем вам как вывести похожие страницы в WordPress.
Выводим похожие страницы в WordPress с помощью плагина
Самый простой способ вывести похожие страницы в WordPress это использовать плагин.
Первым делом вам необходимо установить и активировать плагин Yet Another Related Posts Plugin (YARPP). После активации вам необходимо перейти в раздел Параметры » YARPP административной панели сайта для настройки плагина.
На странице настроек плагина прокручиваем ее до раздела ‘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.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.