Выводим вручную похожие записи в WordPress с помощью плагина ACF

Выводим вручную похожие записи в WordPress с помощью плагина ACF

5 ноября 2014 534 1

Недавно столкнулся с одной, казалось бы, тривиальной задачей — вывести т.н. похожие записи (related posts). Но не как обычно с помощью совпадений меток, рубрик или других таксономий, а вручную.

ThemeForest: Лучшие темы интернет-магазинов для WordPress
ThemeForest: Лучшие темы интернет-магазинов для WordPress

То есть клиент хотел сам указывать какие записи на его взгляд являются похожими. Путей решения задачи масса, но существует одно очень простое и удобное в плане юзабилити решение с помощью популярного плагина Advanced Custom Fields (ACF). На выходе мы получим очень простой в использовании блок, в котором пользователь сможет выбрать похожие записи.

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

Итак, решение задачи очень простое: нам нужно лишь настроить плагин ACF и добавить несколько строчек кода в файл single.php вашей активной темы.

ШАГ 1 — Установка и настройка плагина ACF

1. Установите стандартным образом плагин Advanced Custom Fields и перейдите в его настройки.
2. В группах полей нажмите кнопку «Добавить новую».
3. В Ярлык поля введите его название. Например, «Материалы по теме». Имя поля, к примеру, «related_posts», тип поля: «Взаимоотношение».

Остальное сделайте как на скрине:
Выводим вручную похожие записи в WordPress с помощью плагина ACF

После чего нажмите кнопку «Опубликовать»

ШАГ 2 — Назначаем похожие записи

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

Выводим вручную похожие записи в WordPress с помощью плагина ACF

В блоке будут выведены все ваши записи, из которых вы можете выбрать на ваш взгляд похожие посты. Используйте для этого кнопки «+» и «-». Также вы можете менять их порядок с помощью простого перетаскивания. Если в предыдущем шаге вы указали вывод миниатюр записей, тогда рядом с похожими записями будут выводиться их миниатюры.

ШАГ 3 — Редактируем single.php

Откройте файл single.php вашей активной темы и вставьте ниже опубликованный код там где вы хотите выводить похожие записи. Обычно их выводят под статьей.

<?php 
$posts = get_field('related_posts');
if ($posts) { ?>
    <h3 class="related">Похожие записи</h3>
    <p>
    <?php foreach($posts as $post) { setup_postdata($post); ?>
        <a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?> »</a><br/>
    <?php } //End for each loop
    wp_reset_postdata(); //Restores WP post data ?>
    </p>
    <hr />
<?php } //End if ?>

Собственно, и все! Теперь вы можете самостоятельно указывать и выводить ссылки на похожие публикации в своих статьях. Следует заметить, что стиль отображения похожих записей вы можете отредактировать самостоятельно. Кроме этого, вы можете выводить рядом с заголовками похожих публикаций их миниатюры. Делается это с помощью стандартных функций WordPress.

<?php 
	if ( function_exists ("has_post_thumbnail") && has_post_thumbnail() ) { 
		the_post_thumbnail ('thumbnail'); 
	} 
?>

С референсом функции the_post_thumbnail вы можете ознакомиться в соответствующем разделе WordPress Codex.

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии
  • Вячеслав

    Здравствуйте. Прочитал Вашу статью, но меня интересует одна деталь. Я решил воспользоваться дополнительным полем Advanced Custom Fields. В редакторе оно появилось все нормально, все работает, но вот в чём загвозка. Оно начинает работать с новыми статьями, а как сделать чтоб они работали уже в опубликованных статьях? Если Вы мне поможете я опишу проблему поподробней. Заранее спасибо!

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее