Как добавить автоматическое отображение affiliate продуктов в блоках WordPress

Автоматическое отображение affiliate продуктов в блоках WordPress — отличное решение для повышения конверсии и удобства управления партнерскими ссылками. В этой статье подробно разберем, как реализовать такую функциональность, используя как готовые плагины, так и собственные кодовые решения.

Почему важно автоматизировать отображение affiliate продуктов в блоках

Ручное добавление партнерских ссылок и продуктов в записи и страницы занимает много времени и увеличивает риск ошибок. Автоматизация решает эти задачи, позволяя выводить актуальные офферы, цены и отзывы без лишних усилий. Кроме того, автоматическое обновление данных помогает поддерживать актуальность контента, что положительно сказывается на SEO и доверии пользователей.

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

Выбор плагина для автоматического вывода affiliate продуктов

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

Плагины для автоматизации affiliate продуктов

  • WPGPT — помимо генерации контента, способен автоматически вставлять affiliate ссылки и описания продуктов в заданные блоки. Поддерживает кастомизацию шаблонов.
  • Expert Review — отлично подходит для автоматического отображения отзывов и рейтингов affiliate продуктов, которые можно вставить в блоки на странице.
  • My Popup — позволяет создавать всплывающие окна с партнерскими предложениями, но может быть адаптирован и для блоков.

Выбор зависит от задач: если нужен просто вывод продуктов — достаточно WPGPT или специализированного affiliate плагина, если важны отзывы — Expert Review.

Создание собственного блока для автоматического вывода affiliate продуктов

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

Регистрация блока и вывод продуктов

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

function wpaffiliate_register_affiliate_products_block() {
    wp_register_script(
        'wpaffiliate-affiliate-products-block',
        plugins_url('affiliate-products-block.js', __FILE__),
        array('wp-blocks', 'wp-element', 'wp-editor'),
        filemtime(plugin_dir_path(__FILE__) . 'affiliate-products-block.js')
    );

    register_block_type('wpaffiliate/affiliate-products', array(
        'editor_script' => 'wpaffiliate-affiliate-products-block',
        'render_callback' => 'wpaffiliate_render_affiliate_products_block'
    ));
}
add_action('init', 'wpaffiliate_register_affiliate_products_block');

function wpaffiliate_render_affiliate_products_block($attributes) {
    $products = wpaffiliate_get_affiliate_products();
    if (empty($products)) {
        return '<p>Продукты не найдены</p>';
    }
    $output = '<ul class="wpaffiliate-products-list">';
    foreach ($products as $product) {
        $output .= sprintf('<li><a href="%s" target="_blank" rel="nofollow">%s</a></li>', esc_url($product['url']), esc_html($product['title']));
    }
    $output .= '</ul>';
    return $output;
}

function wpaffiliate_get_affiliate_products() {
    // Здесь можно получить продукты из базы или API
    return array(
        array('title' => 'Товар 1', 'url' => 'https://example.com/product1?affid=123'),
        array('title' => 'Товар 2', 'url' => 'https://example.com/product2?affid=123'),
    );
}

Этот код создаёт блок, который при рендеринге выводит список партнерских продуктов.

Создание файла affiliate-products-block.js

В JavaScript части блока можно добавить настройки и интерфейс для выбора категорий или фильтров продуктов.

const { registerBlockType } = wp.blocks;
const { InspectorControls } = wp.blockEditor;
const { PanelBody, SelectControl } = wp.components;
const { useState, useEffect } = wp.element;

registerBlockType('wpaffiliate/affiliate-products', {
    title: 'Affiliate продукты',
    icon: 'cart',
    category: 'widgets',
    attributes: {
        category: { type: 'string', default: '' }
    },
    edit: (props) => {
        const { attributes, setAttributes } = props;

        return (
            <>
                <InspectorControls>
                    <PanelBody title="Настройки">
                        <SelectControl
                            label="Категория"
                            value={attributes.category}
                            options={[
                                { label: 'Все', value: '' },
                                { label: 'Категория 1', value: 'cat1' },
                                { label: 'Категория 2', value: 'cat2' },
                            ]}
                            onChange={(value) => setAttributes({ category: value })}
                        />
                    </PanelBody>
                </InspectorControls>
                <p>Здесь будут отображаться affiliate продукты категории: {attributes.category || 'Все'}</p>
            </>
        );
    },
    save: () => {
        return null; // Рендер на сервере
    }
});

Автоматическое обновление данных affiliate продуктов

Чтобы данные о продуктах были всегда актуальными, нужно настроить регулярный импорт или обновление с помощью CRON задач и API партнерских программ. В WordPress это можно сделать через WP-Cron.

Пример добавления CRON задачи для обновления продуктов:

function wpaffiliate_update_products_cron() {
    // Логика обновления продуктов из API
    $products = wpaffiliate_fetch_products_from_api();
    // Сохраняем в базу
    update_option('wpaffiliate_products', $products);
}

add_action('wpaffiliate_update_products_event', 'wpaffiliate_update_products_cron');

if (!wp_next_scheduled('wpaffiliate_update_products_event')) {
    wp_schedule_event(time(), 'hourly', 'wpaffiliate_update_products_event');
}

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

Защита affiliate ссылок и улучшение UX

Чтобы избежать потери комиссий и повысить безопасность, стоит маскировать affiliate ссылки и добавлять редиректы через PHP. Пример простого редиректа с маскировкой:

function wpaffiliate_redirect_affiliate_link() {
    if (isset($_GET['aff_link'])) {
        $url = esc_url_raw($_GET['aff_link']);
        wp_safe_redirect($url);
        exit;
    }
}
add_action('template_redirect', 'wpaffiliate_redirect_affiliate_link');

В блоках можно затем использовать ссылки вида https://вашсайт.ru/?aff_link=https://партнерскаяссылка, чтобы скрыть настоящие URL.

Вывод

Автоматическое отображение affiliate продуктов в блоках WordPress — мощный инструмент для повышения эффективности партнерских сайтов. Вы можете использовать готовые плагины, такие как WPGPT или Expert Review, либо реализовать собственное решение с кастомными блоками и CRON обновлениями. Не забывайте про защиту ссылок и удобство для пользователей — это напрямую влияет на доход вашего affiliate сайта.

Как создать собственный шорткод для affiliate ссылок в WordPress
30.11.2025
Как сделать автоматическое отказание от affiliate программ в WordPress при низкой конверсии
23.01.2026
Исправление проблем со скрытым редиректом affiliate ссылок в WooCommerce
14.05.2026
Как добавить автоматическое отображение affiliate продуктов в блоках WordPress
25.03.2026
Как безопасно удалить неиспользуемые плагины в WordPress
07.12.2025