Выводим похожие страницы в WordPress сайте с помощью модуля и сниппета
Реализацию похожих записей в WP я неоднократно обсуждал ранее: можете почитать про отображение постов с миниатюрами, похожие заметки по контенту (содержимому), внедрение опции без плагинов и др. Эта фишка весьма полезна как для посетителей сайта, так и в плане создания перелинковки.
Сегодня хочу дополнить имеющиеся публикации еще одной статьей по теме — будем учиться выводить похожие страницы в WordPress. По умолчанию, данная функция не предусмотрена, но вполне вероятно вам захочется/понадобится ее реализовать. Традиционно существует два варианта пути: обратиться за помощью к специальным плагинам или через вставку сниппета в файле functions.php.
Важные нюансы
Сначала следует упомянуть несколько интересных моментов, с которыми можете столкнуться по ходу дела:
- Основная загвоздка заключается в том, что для решения задачи вам придется добавить категории и теги страницам, поскольку степень схожести двух публикаций определяется именно через них. Выбирайте модули Post Tags and Categories for Pages, Tag Pages, Add Category to Pages или любые другие.
- При желании вы можете сделать отображение соответствующих тегов в шаблоне через the_category и the_tags.
- Метки для всех типов записей создаются в одной и той же таблице БД, поэтому в архиве сайта они будут вперемешку.
Похожие страницы с Yet Another Related Posts
Итак, допустим, вы уже добавили теги и установили популярный плагин похожих постов Yet Another Related Posts. Его преимущество в том, что он позволяет работать не только с постами блога, но и со страницами (даже с медиафайлами). Вам лишь нужно зайти в настройки и все правильно там указать:
- Во-первых, определяете критерии схожести — активируете рассмотрение меток и/или рубрик. Контент я обычно не учитываю, т.к. эта фишка жрет много ресурсов.
- Дальше выбираете режим вывода похожих страниц в WordPress: автоматически (ставите галочку как на скриншоте) или вручную через функцию (см.ниже).
- Доп.опции: число элементов и шаблон (список, миниатюры, свой).
Вообще детальную инфу по настройке Yet Another Related Posts смотрите в его обзоре. Что касается отображения похожих страниц, то за это отвечает функция related_pages, и в итоге у вас в файле шаблона page.php должно быть что-то вроде:
<div class="after-post"> <div class="h3-title">Еще интересные статьи:</div> <?php related_pages(); ?> </div> |
У модуля есть еще 2 функции для вывода записей: related_entries (любых типов) и related_posts (только постов). Убедитесь, что используете правильный код, если не хотите смешивать оба варианта.
Похожие страницы без плагина
Хотя метод и называется «без плагина», кое-что установить все же придется (о критериях схожести говорилось в нюансах выше). Можете выбрать любой из имеющихся вариантов либо сделать все вручную. Если это будет Post Tags and Categories for Pages, то после его установки и активации в разделе «Страницы» увидите новые пункты «Рубрики» и «Метки». Плюс при редактировании или создании новых публикаций появится блок с тегами (как в постах).
Общий алгоритм реализации метода:
1. Вначале добавляем парочку одинаковых тегов для нескольких страниц сайта (дабы в итоге мы смогли увидеть результаты).
2. Далее заходите в файл 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», если ничего не найдено;
- плюс HTML формат отображения также задается в этом коде.
3. Теперь чтобы вывести похожие страницы в Вордпресс, открываете файл шаблона page.php или content-page.php и в нужном месте вставляете строку:
<?php wpb_related_pages(); ?> |
После всего проверьте работу функции. Дополнительно внешний вид списка можете подправить через CSS стили. За сниппет спасибо авторам этой статьи.
Итого. Какой из двух вариантов выбрать, вам решать. Первый, вроде как, намного проще, а второй подойдет любителям «не плагинных» решений, хотя в обоих случаях надо дополнительно позаботиться о добавлении тегов в страницы. Кроме того, с момента тестирования второго метода прошло некоторое время, поэтому его 100%тную работоспособность сейчас гарантировать не могу (но, по идее, WP движок за это время не сильно менялся). В любом случае, после внедрения, смотрите на результаты.
Если есть что дополнить по теме, например, еще какие-то модули или замечания, вы знаете, где их писать.
комментариев 6 к статье “Выводим похожие страницы в WordPress сайте с помощью модуля и сниппета”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Плагин WP-PostRatings рейтинга постов в WordPress (5,79 из 7, голосов - 934)
- 5 wordpress плагинов для кнопок социальных закладок (5,24 из 7, голосов - 42)
- Кэширование в wordpress — выбираем лучший плагин для кэширования (5,63 из 7, голосов - 35)
- 50+ лучших плагинов для WordPress сайта (5,71 из 7, голосов - 34)
- Лучшие плагины картинок в WordPress — галереи, слайдеры, для миниатюр и т.п. (6,07 из 7, голосов - 30)
- Лучшие плагины статистики в WordPress — просмотр посещаемости сайта и не только (4,65 из 7, голосов - 37)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Все зависит от количества страниц на сайте — если у вас здоровый каталог, то полезная фишка, если там 5-10 текстов «о компании», то смысла ноль.
Andrew, полностью согласен.
Когда-то приходилось работать с каталогом страниц на сайте.. и мне кажется вывод похожих статей после текста помог бы визуально данные страницы больше украсить.. да и для SEO, пишут, это полезно.
Хз страницы это типа «о нас», «контакты» и т.п. похожие записи там нет смысла выводить. А статьи можно через обычные посты организовать.