Создание видео каталога на сайте WordPress — востребованная задача, особенно для ресурсов с большим количеством видео-контента. В этой статье мы разберём, как автоматизировать процесс создания и обновления видео каталога с помощью плагина OmniVideo, а также приведём примеры кода для интеграции и настройки.
Почему важно использовать автоматический видео каталог на WordPress
Видео каталог помогает структурировать и упорядочить видео, облегчая поиск и навигацию для пользователей. Ручное создание каталогов требует много времени, особенно если видео загружаются регулярно. Автоматизация позволяет:
- Экономить время на добавлении новых видео;
- Обеспечивать актуальность каталога;
- Улучшать SEO за счёт правильной структуры и метаданных;
- Повышать удобство пользования сайтом.
Плагин OmniVideo — отличный инструмент для создания таких каталогов. Он поддерживает автоматический импорт видео, гибкую настройку и интеграцию с популярными источниками.
Установка и базовая настройка OmniVideo для создания видео каталога
Для начала установим плагин OmniVideo с официального сайта WPShop. После активации плагина перейдите в раздел настроек OmniVideo в админке WordPress.
Основные шаги настройки:
- Настройка источников видео: YouTube, Vimeo, локальные файлы;
- Определение шаблонов отображения видео;
- Конфигурация автоматического импорта и обновления видео;
- Настройка пользовательских таксономий для классификации видео;
- Оптимизация SEO параметров для видео страниц.
Эти шаги позволяют создать базовый автоматический каталог с минимальным ручным вмешательством.
Пример автоматического импорта видео и создания каталога с помощью OmniVideo API
Для более гибкой интеграции используйте API OmniVideo. Например, создадим функцию, которая импортирует видео по заданному URL и добавляет его в каталог.
function omni_video_import_and_add_to_catalog($video_url) {
// Проверяем, подключен ли плагин OmniVideo
if (!function_exists('omnivideo_import_video')) {
return new WP_Error('plugin_missing', 'OmniVideo plugin is not active');
}
// Импортируем видео
$video_id = omnivideo_import_video($video_url);
if (is_wp_error($video_id)) {
return $video_id;
}
// Добавляем таксономию "video_category" для классификации
wp_set_object_terms($video_id, 'auto-catalog', 'video_category', true);
return $video_id;
}
Используйте эту функцию для автоматического добавления видео в каталог из любого внешнего источника. Вызовите её, например, при загрузке видео или по cron-задаче для регулярного обновления.
Настройка отображения видео каталога на фронтенде
Для красивого и удобного отображения видео каталога создадим кастомный шаблон. Ниже пример кода для вывода видео из категории "auto-catalog" с пагинацией.
function omni_video_show_catalog() {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = [
'post_type' => 'omnivideo',
'tax_query' => [
[
'taxonomy' => 'video_category',
'field' => 'slug',
'terms' => 'auto-catalog',
],
],
'posts_per_page' => 10,
'paged' => $paged,
];
$query = new WP_Query($args);
if ($query->have_posts()) {
echo '<div class="omni-video-catalog">';
while ($query->have_posts()) {
$query->the_post();
echo '<div class="video-item">';
the_title('<h3>', '</h3>');
echo do_shortcode('[omnivideo id="' . get_the_ID() . '"]');
echo '</div>';
}
echo '</div>';
// Пагинация
echo paginate_links([
'total' => $query->max_num_pages,
]);
wp_reset_postdata();
} else {
echo '<p>Видео не найдены</p>';
}
}
Этот код можно вызвать в любом месте шаблона темы или через шорткод, чтобы вывести каталог автоматически с пагинацией и удобным интерфейсом.
Оптимизация видео каталога для SEO и производительности
Видео-контент сильно влияет на скорость загрузки страниц, поэтому важно оптимизировать:
- Используйте ленивую загрузку видео с помощью параметров плагина OmniVideo;
- Добавляйте структурированные данные (schema.org) для видео, чтобы поисковики лучше индексировали контент;
- Кэшируйте страницы с каталогом через WP Rocket или аналогичные плагины;
- Минимизируйте количество запросов к базе данных, оптимизируя запросы в WP_Query;
- При необходимости используйте CDN для доставки видео.
OmniVideo поддерживает добавление метаданных schema.org автоматически, но для дополнительной настройки можно использовать фильтры плагина.
Пример добавления пользовательских метаданных schema.org
add_filter('omnivideo_video_schema', 'omni_video_add_custom_schema', 10, 2);
function omni_video_add_custom_schema($schema, $post_id) {
$schema['author'] = [
'@type' => 'Person',
'name' => 'OmniVideo.ru',
];
return $schema;
}
Такой подход улучшает представление видео в выдаче поисковых систем и повышает CTR.
Автоматизация обновления видео каталога с помощью WP Cron
Для регулярного обновления каталога и импорта новых видео настройте задачу WP Cron. Ниже пример регистрации и выполнения cron-задачи для автоматического добавления новых видео.
add_action('omni_video_cron_import', 'omni_video_cron_import_videos');
function omni_video_cron_import_videos() {
$new_videos = [
'https://youtu.be/example1',
'https://vimeo.com/example2',
];
foreach ($new_videos as $video_url) {
omni_video_import_and_add_to_catalog($video_url);
}
}
// Регистрация задачи при активации плагина или темы
if (!wp_next_scheduled('omni_video_cron_import')) {
wp_schedule_event(time(), 'hourly', 'omni_video_cron_import');
}
Такое решение позволит держать каталог всегда актуальным без вашего участия.
Заключение
Автоматический видео каталог — мощный инструмент для сайтов с большим количеством видео. Использование плагина OmniVideo в связке с кастомным кодом и WP Cron позволяет создать гибкий, удобный и SEO-оптимизированный каталог, который будет обновляться без лишнего труда. Приведённые примеры кода помогут быстро внедрить такую систему на ваш сайт.