Использование YARPP для кастомных типов записей в WordPress

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, создание кастомных шаблонов и использование фильтров позволяют добиться гибкой и точной выдачи связанных записей. Не забывайте про оптимизацию производительности и совместимость с другими плагинами, чтобы обеспечить плавную работу сайта.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как эффективно использовать YARPP с AJAX: динамическая подгрузка связанных записей в WordPress
12.04.2026
Как избежать ошибок при интеграции YARPP с WooCommerce
24.04.2026
WooCommerce: как исключить товары по метаданным из списка связанных товаров
23.05.2026
Автопостинг WordPress: как автоматизировать публикации с помощью плагинов и кода
23.11.2025
Автоматическое создание связанных записей на основе мета-данных в WordPress
01.04.2026
×

Пора действовать!

Скидки на
WordPress!

-20%
на премиум темы

Успей купить ⋙