
То есть клиент хотел сам указывать какие записи на его взгляд являются похожими. Путей решения задачи масса, но существует одно очень простое и удобное в плане юзабилити решение с помощью популярного плагина Advanced Custom Fields (ACF). На выходе мы получим очень простой в использовании блок, в котором пользователь сможет выбрать похожие записи.
Не стоит забывать, что вывод действительно похожих по тематике записей, которые реально могут заинтересовать посетителя, самым благоприятным образом влияет на глубину просмотра сайта, на снижение показателя отказов и, как следствие, на рост авторитетности ресурса со всеми вытекающими благоприятными в плане SEO последствиями.
Итак, решение задачи очень простое: нам нужно лишь настроить плагин ACF и добавить несколько строчек кода в файл single.php вашей активной темы.
ШАГ 1 — Установка и настройка плагина ACF
1. Установите стандартным образом плагин Advanced Custom Fields и перейдите в его настройки.
2. В группах полей нажмите кнопку «Добавить новую».
3. В Ярлык поля введите его название. Например, «Материалы по теме». Имя поля, к примеру, «related_posts», тип поля: «Взаимоотношение».
Остальное сделайте как на скрине:
После чего нажмите кнопку «Опубликовать»
ШАГ 2 — Назначаем похожие записи
Перейдите в один из ваших постов, чуть ниже редактора вы увидите блок, который мы создали в первом шаге.
В блоке будут выведены все ваши записи, из которых вы можете выбрать на ваш взгляд похожие посты. Используйте для этого кнопки «+» и «-». Также вы можете менять их порядок с помощью простого перетаскивания. Если в предыдущем шаге вы указали вывод миниатюр записей, тогда рядом с похожими записями будут выводиться их миниатюры.
ШАГ 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.
Можно ли в YARPP сделать так, чтобы он учитывал и пользовательские поля?