Как автоматически добавлять видео в описание товара WooCommerce

Диагностика задачи: зачем добавлять видео в описание товара

Видео в карточке товара повышает конверсию и улучшает пользовательский опыт. В WooCommerce часто возникает необходимость автоматически добавлять видео, например, с YouTube, в описание товара или отдельный таб, чтобы не делать это вручную для сотен позиций.

Как проверить, что видео не добавляется

  • Откройте страницу товара на фронтенде, проверьте наличие видео.
  • Проверьте консоль браузера на ошибки JavaScript.
  • Проверьте, что ссылка на видео задана в метаполе или поле товара.
  • Убедитесь, что тема и плагины не конфликтуют с выводом контента.

Шаги для автоматического добавления видео в описание товара WooCommerce

1. Добавьте пользовательское поле для ссылки на видео

Можно использовать плагин Advanced Custom Fields (ACF) или добавить метаполе вручную.

function add_video_url_field() {
    woocommerce_wp_text_input( array(
        'id' => '_video_url',
        'label' => __('URL видео (YouTube, Vimeo)', 'woocommerce'),
        'placeholder' => 'https://www.youtube.com/watch?v=xxxxxxx',
        'desc_tip' => true,
        'description' => __('Введите ссылку на видео для автоматического добавления в описание товара.', 'woocommerce'),
        'type' => 'url'
    ) );
}
add_action('woocommerce_product_options_general_product_data', 'add_video_url_field');

function save_video_url_field($post_id) {
    $video_url = isset($_POST['_video_url']) ? esc_url_raw($_POST['_video_url']) : '';
    update_post_meta($post_id, '_video_url', $video_url);
}
add_action('woocommerce_process_product_meta', 'save_video_url_field');

2. Автоматически вставляйте видео в описание товара

Для вывода видео можно использовать oEmbed WordPress — достаточно передать ссылку на видео через wp_oembed_get().

function add_video_to_product_description($content) {
    if (!is_product()) return $content;
    global $post;
    $video_url = get_post_meta($post->ID, '_video_url', true);
    if ($video_url) {
        $embed_code = wp_oembed_get($video_url);
        if ($embed_code) {
            // Добавляем видео в начало описания
            $content = $embed_code . $content;
        }
    }
    return $content;
}
add_filter('the_content', 'add_video_to_product_description');

3. Альтернатива: добавление видео в отдельный таб

Чтобы видео не мешало основному описанию, лучше вынести его в отдельный таб на странице товара.

function add_video_product_tab($tabs) {
    global $post;
    $video_url = get_post_meta($post->ID, '_video_url', true);
    if ($video_url) {
        $tabs['video_tab'] = array(
            'title'    => __('Видео', 'woocommerce'),
            'priority' => 50,
            'callback' => 'video_tab_content'
        );
    }
    return $tabs;
}
add_filter('woocommerce_product_tabs', 'add_video_product_tab');

function video_tab_content() {
    global $post;
    $video_url = get_post_meta($post->ID, '_video_url', true);
    if ($video_url) {
        echo wp_oembed_get($video_url);
    } else {
        echo '<p>' . __('Видео отсутствует.', 'woocommerce') . '</p>';
    }
}

Проверка результата

  • Сохраните товар с заполненным полем Видео URL.
  • Откройте страницу товара на сайте.
  • Убедитесь, что видео отображается либо в описании, либо в отдельном табе (зависит от выбранного метода).
  • Проверьте корректность отображения на мобильных устройствах.

Частые ошибки и их исправления

  • Видео не отображается: проверьте, что ссылка корректна и поддерживается oEmbed WordPress (YouTube, Vimeo и др.).
  • Видео вставляется как текст ссылки: убедитесь, что фильтр the_content применяется к описанию товара, а не к кастомному полю.
  • Видео выводится несколько раз: проверьте, нет ли конфликтов с другими плагинами, которые тоже модифицируют контент.
  • Конфликты с темой: некоторые темы переопределяют шаблоны WooCommerce, нужно проверить шаблон single-product.php.

Практические советы по производительности и безопасности

  • Используйте только проверенные источники видео, чтобы избежать внедрения вредоносного кода.
  • Ограничьте ввод URL через валидацию (esc_url_raw при сохранении).
  • Для ускорения загрузки страниц включите кэширование oEmbed, например, с помощью плагина oEmbed Cache.
  • Минимизируйте количество видео на одной странице, чтобы не снижать скорость загрузки.

Сравнение вариантов реализации

МетодПлюсыМинусыКодочас
Вставка в описаниеПростота, видео сразу видноМожет мешать основному тексту15 минут
Отдельный табЧистый интерфейс, структурированностьПонадобится доработка темы30 минут
Плагин (например, Video Gallery)Много функций без кодаЗависимость от стороннего кода, производительность5-10 минут настройки
Как использовать хук для управления скоростью воспроизведения видео в WordPress
16.05.2026
Как создать видео галерею в WordPress с помощью Shortcode
08.11.2025
Как добавить видео в подпись на пост в WordPress
09.02.2026
Как сделать автоматические миниатюры видео в WordPress
10.01.2026
Как сделать автоматический транскодер видео в WordPress
22.02.2026