Апр
10
2

Похожие страницы в WordPress

Похожие страницыПро похожие записи в WordPress я уже неоднократно рассказывал на страницах этого и других блогов. Можете почитать про похожие посты с миниатюрами, похожие посты по контенту (тексту заметок), обзор плагина Yet Another Related Posts и реализацию функции без плагинов. Сегодня вас ждет еще одна публикация по теме, но касается она не постов блога, а страниц. Возможно, вам захочется добавить перелинковку и для них. Реализовать данную задачу можно двумя методами: с помощью специального плагина и через правку файла функций functions.php.

Похожие страницы в Yet Another Related Posts

Первая реализация — с помощью плагина похожих записей Yet Another Related Posts, о котором я упоминал выше. Этот модуль хорош тем, что может работать и с постами блога, и со страницами, и даже с медиафайлами. Вам лишь нужно пройти в настройки плагина и включить его для страниц.

Yet Another Related Posts

Из недостатков — некоторые пользователи говорят, что плагин создает нагрузку на базу данных. Кроме того, он не сможет определить похожие по тексту заметки, если БД у вас InnoDB.

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

Хотя этот вариант и называется «без плагина», все же установить модуль вам придется. Практически все плагины похожести ориентируются на категории и теги, но ведь у страниц таких опций нету. Именно по этим причинам нам понадобится модуль Post Tags and Categories for Pages. Плагин устанавливается и работает «из коробки». После его активации в разделе «Страницы» увидите пункты «Рубрики» и «Метки» (как и для постов).

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

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

Дальше заходите в файл функций functions.php, где добавляете следующий код:

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>Related Pages</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 "No Related Pages Found:";
}
}
$post = $orig_post;
wp_reset_query(); 
}

Данная функция ищет в базе данных страницы с похожими метками. Здесь можете изменить значения некоторых параметров, например: posts_per_page — число похожих постов, текст заголовка блока «Related Pages», а также фразу «No Related Pages Found», если ничего не найдено. В общем, формат отображения списка полностью задается в этом коде.

Далее дабы отобразить список похожий страниц, заходите в файл шаблона page.php или content-page.php, где добавляете код:

<?php wpb_related_pages(); ?>

После этого заходите на страницы с похожими тегами дабы проверить работу функции. Внешний вид списка можете подправить через CSS стили. За наводку на решение спасибо авторам этой статьи. Какой из двух вариантов выбрать, вам решать. Первый, вроде как, намного проще, а второй подойдет любителям «не плагинных» решений, хотя там же нужно установить Post Tags and Categories for Pages.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 8, средний балл: 4,50 из 7)
Загрузка...

категория Категории: Плагины; Хаки и секреты;
теги Теги: , , .

комментария 2 к статье “Похожие страницы в WordPress”

  • Maxim   25.01.2015

    Привет! Спасибо за статью! Установил плагин, но не могу понять как работать с медиа-файлами. У плагина есть критерии похожести: заголовки, рубрики, тексты, метки, а при добавлении файла нет меток — это нужно доп.плагин ставить: метки для медиафайлов? Если да, то какой посоветуйте?

  • Tod   26.01.2015

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

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

(предыдущая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости