YARPP (Yet Another Related Posts Plugin) — мощный инструмент для вывода связанных записей в WordPress. Часто его применяют для стандартных типов записей (постов), но что делать, если у вас есть кастомные типы записей? В этой статье разберём, как правильно настроить YARPP для работы с кастомными типами записей, чтобы улучшить пользовательский опыт и увеличить время пребывания посетителей на сайте.
Что такое кастомные типы записей и зачем их использовать с YARPP
В WordPress кастомные типы записей (Custom Post Types, CPT) позволяют создавать уникальные структуры контента, отличные от стандартных записей и страниц. Например, это могут быть портфолио, отзывы, проекты, товары и др. YARPP по умолчанию работает с постами и страницами, но его можно настроить для работы с любыми CPT.
Поддержка кастомных типов записей в YARPP необходима, если вы хотите показывать связанные записи внутри конкретного типа, а не смешивать их с постами блога. Например, если у вас есть CPT «Проекты», логично показывать только связанные проекты, а не статьи.
Кроме того, настройка YARPP для CPT поможет сделать рекомендации более релевантными и повысить конверсию.
Настройка YARPP для кастомных типов записей: пошаговое руководство
1. Регистрация кастомного типа записи с поддержкой YARPP
При создании CPT важно указать параметр yarpp_support, чтобы плагин корректно обрабатывал записи этого типа. Вот пример регистрации CPT для «Проекты» с поддержкой YARPP:
function yarpp_register_cpt_projects() {
$args = array(
'label' => 'Проекты',
'public' => true,
'show_in_rest' => true,
'supports' => array('title', 'editor', 'thumbnail'),
'yarpp_support' => true, // Включаем поддержку YARPP
);
register_post_type('projects', $args);
}
add_action('init', 'yarpp_register_cpt_projects');Если CPT уже зарегистрирован без поддержки YARPP, можно добавить поддержку через функцию add_post_type_support:
function yarpp_add_support_projects() {
add_post_type_support('projects', 'yarpp');
}
add_action('init', 'yarpp_add_support_projects');2. Конфигурация шаблона для вывода связанных записей
YARPP позволяет создавать кастомные шаблоны для вывода связанных записей. Чтобы шаблон корректно обрабатывал кастомные типы, создайте в вашей теме файл yarpp-template-projects.php и добавьте туда желаемую разметку.
Пример простого шаблона для CPT «Проекты»:
<ul class="yarpp-projects-list">
<?php foreach ( $related_posts as $post ) : setup_postdata( $post ); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; wp_reset_postdata(); ?>
</ul>Затем в шаблоне вывода записи добавьте вызов YARPP с указанием кастомного шаблона:
if ( function_exists('yarpp_related') ) {
echo yarpp_related(array(
'post_type' => array('projects'),
'template' => 'projects'
));
}3. Использование фильтров для расширенной кастомизации
YARPP предоставляет фильтры, с помощью которых можно изменить запрос связанных записей. Например, чтобы фильтровать по дополнительным мета-данным кастомных записей:
function yarpp_filter_related_projects_query( $query, $post ) {
if ( 'projects' === $post->post_type ) {
$meta_query = array(
array(
'key' => 'project_category',
'value' => get_post_meta( $post->ID, 'project_category', true ),
'compare' => '='
)
);
$query['meta_query'] = $meta_query;
}
return $query;
}
add_filter( 'yarpp_related_query_args', 'yarpp_filter_related_projects_query', 10, 2 );Этот код ограничит связанные проекты по категории, заданной в мета-поле project_category.
Дополнительные советы и лучшие практики
Оптимизация производительности
При работе с кастомными типами записи и большим объёмом данных важно оптимизировать запросы YARPP. Для этого рекомендуется включить кэширование результатов. В настройках YARPP есть опция кэширования, которую стоит активировать.
Также можно использовать плагин Clearfy Pro для дополнительной оптимизации сайта, включая кэширование и отключение лишних скриптов.
Совместимость с другими плагинами
Если вы используете WooCommerce или другие плагины с CPT, убедитесь, что YARPP корректно интегрируется с ними. Например, для WooCommerce можно настроить подбор похожих товаров через YARPP с помощью фильтров, что улучшит юзабилити магазина.
Альтернативы YARPP для кастомных CPT
Если YARPP по каким-то причинам не подходит, рассмотрите альтернативные плагины, например, Expert Review, который также умеет работать с кастомными типами записей и имеет расширенные настройки рекомендации.
Заключение
Настройка YARPP для кастомных типов записей — важный этап для улучшения релевантности связанных материалов на сайте. Правильная регистрация CPT с поддержкой YARPP, создание кастомных шаблонов и использование фильтров позволяют добиться гибкой и точной выдачи связанных записей. Не забывайте про оптимизацию производительности и совместимость с другими плагинами, чтобы обеспечить плавную работу сайта.