Как запретить вставку видео в WooCommerce для неавторизованных пользователей

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

В интернет-магазинах на WooCommerce иногда возникает необходимость ограничить доступ к видео контенту, например, демонстрационным или обучающим роликам, чтобы они были доступны только авторизованным покупателям. Без такой защиты любой посетитель может вставить или просмотреть видео, что снижает ценность платного контента и влияет на монетизацию.

Какие сценарии ограничения видео актуальны в WooCommerce

  • Запрет вставки видео в описании товара или отзывах для гостей.
  • Ограничение загрузки видео в пользовательские поля (custom fields) только для залогиненных.
  • Блокировка воспроизведения встроенных видео-плееров для неавторизованных.

Пошаговое решение: запрет вставки видео через фильтр WooCommerce и WordPress

1. Запрет вставки iframe и видео тегов в описаниях товаров для гостей

WooCommerce позволяет фильтровать содержимое описаний через фильтр the_content. Мы можем добавить проверку авторизации и удалить теги видео, если пользователь не залогинен.

function restrict_video_in_product_description($content) {
    if( is_product() && !is_user_logged_in() ) {
        // Удаляем теги iframe и video
        $content = preg_replace('#<iframe.*?</iframe>#is', '', $content);
        $content = preg_replace('#<video.*?</video>#is', '', $content);
    }
    return $content;
}
add_filter('the_content', 'restrict_video_in_product_description');

2. Запрет вставки видео через визуальный редактор для неавторизованных

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

3. Блокировка видео в пользовательских полях (ACF или стандартные)

Если видео загружаются через произвольные поля, то при выводе этих полей нужно добавить проверку авторизации:

if ( is_user_logged_in() ) {
    echo get_post_meta( get_the_ID(), 'video_url', true );
} else {
    echo '<p>Видео доступно только для зарегистрированных пользователей.</p>';
}

Проверка результата после внедрения

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

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

  • Видео все еще показывается гостям. Проверьте, что фильтр the_content добавлен и вызывается на странице товара. Некоторые темы могут использовать кастомные шаблоны, которые обходят стандартные фильтры.
  • Видео удаляется некорректно, страница ломается. В регулярных выражениях для удаления видео-тегов нужно использовать флаг is для корректной обработки многострочного HTML и игнорирования регистра.
  • Видео загружаются через сторонние плагины и не поддаются фильтрации. В этом случае придется искать хуки плагина или обращаться к API для ограничения вывода видео.

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

  • Не удаляйте видео на уровне базы данных, достаточно фильтровать вывод — это безопаснее и проще.
  • Используйте кэширование страниц с учетом авторизации, чтобы избежать показа видео гостям из кэша.
  • Если видео хранятся на сторонних платформах (YouTube, Vimeo), убедитесь, что URL не раскрываются в исходном коде гостям (например, через проксирование).

Сравнение способов ограничения видео в WooCommerce

МетодПлюсыМинусы
Фильтрация вывода через the_contentПросто реализовать, не требует плагиновЗависит от темы и шаблонов, не всегда универсально
Использование плагинов защиты контентаГотовые решения с гибкими настройкамиДополнительная нагрузка, может конфликтовать с другими плагинами
Ограничение доступа к видео через shortcodes с проверкой авторизацииГибко, можно использовать в любом местеТребует доработки шаблонов и шорткодов
Как запретить вставку видео в WooCommerce для неавторизованных пользователей
28.04.2026
Как настроить защиту видео в WooCommerce для авторизованных пользователей
26.05.2026
Как защитить видео контент в WordPress от скачивания
22.12.2025
Как установить ограничения на размер и длительность видео в WordPress
17.04.2026
Как создать настраиваемый видео плейлист в WordPress
25.11.2025