Автоматизация публикации видео в WordPress помогает существенно сэкономить время и повысить вовлечённость аудитории. Особенно актуально это для сайтов, где видео — основной контент, например, на wpvideo.ru. В этой статье мы подробно рассмотрим, как с помощью плагина WPRemark и небольших доработок на PHP можно настроить автоматическую публикацию видео с нужными параметрами и удобным выводом на сайте.
Что такое WPRemark и почему он подходит для автоматизации видео
WPRemark — это мощный плагин для управления видеоотзывами и видео комментариями на сайте WordPress. Помимо своей основной функции, он предоставляет удобный API и возможности программного управления видео-контентом. Благодаря этому его можно использовать как основу для автоматической публикации и вывода видео, интегрируя с другими плагинами и кастомным кодом.
Преимущества WPRemark для автоматизации:
- Удобный пользовательский интерфейс для работы с видео;
- Встроенная поддержка кастомных типов записей и таксономий;
- API для программного добавления и управления видео;
- Гибкие настройки отображения и встраивания плеера;
- Поддержка UTM-меток для аналитики.
Настройка автоматической публикации видео с WPRemark
Для начала работы установите и активируйте плагин WPRemark. Сделать это можно через официальный каталог WordPress или скачав с сайта WPSHOP.RU.
Далее реализуем автоматическую публикацию видео с помощью пользовательской функции. Предположим, что видео поступают в виде URL с внешнего сервиса (например, YouTube, Vimeo), и мы хотим автоматически создавать посты с этими видео в WPRemark.
Пример функции для автоматического создания видеоотзыва в WPRemark
function wpvideo_ru_create_video_remark($video_url, $author_name = 'Гость', $post_title = '') {
if (empty($video_url)) {
return new WP_Error('empty_video_url', 'URL видео не может быть пустым');
}
if (empty($post_title)) {
$post_title = 'Видео отзыв от ' . $author_name . ' ' . date('Y-m-d H:i:s');
}
// Создаем кастомный пост типа wpremark_video
$post_id = wp_insert_post(array(
'post_title' => $post_title,
'post_type' => 'wpremark_video',
'post_status' => 'publish'
));
if (is_wp_error($post_id)) {
return $post_id;
}
// Сохраняем URL видео в мета-поле
update_post_meta($post_id, 'wpremark_video_url', esc_url_raw($video_url));
update_post_meta($post_id, 'wpremark_author_name', sanitize_text_field($author_name));
return $post_id;
}Эта функция принимает URL видео, имя автора и заголовок поста, создаёт запись нужного типа и сохраняет метаданные. Её можно вызывать из разных частей вашего сайта, например, из формы загрузки видео или из cron-задачи для импорта.
Автоматизация с помощью WP-Cron: регулярная публикация новых видео
Если у вас есть источник новых видео (фид, API стороннего сервиса), можно настроить периодическую задачу для их автоматического добавления в WPRemark.
Пример добавления задачи в WP-Cron:
function wpvideo_ru_schedule_video_import() {
if (!wp_next_scheduled('wpvideo_ru_import_videos_hook')) {
wp_schedule_event(time(), 'hourly', 'wpvideo_ru_import_videos_hook');
}
}
add_action('wp', 'wpvideo_ru_schedule_video_import');
function wpvideo_ru_import_videos() {
// Здесь логика получения новых видео URL из внешнего API
$new_videos = array(
array('url' => 'https://youtu.be/example1', 'author' => 'Иван'),
array('url' => 'https://vimeo.com/example2', 'author' => 'Мария')
);
foreach ($new_videos as $video) {
wpvideo_ru_create_video_remark($video['url'], $video['author']);
}
}
add_action('wpvideo_ru_import_videos_hook', 'wpvideo_ru_import_videos');Таким образом, каждые час будут автоматически добавляться новые видео, если они появились во внешнем источнике. Это полностью исключает ручной труд по публикации.
Вывод видео на сайте с использованием WPRemark
После публикации видео их нужно корректно выводить на страницах сайта. WPRemark поддерживает шорткоды и виджеты, но для более гибкой интеграции можно использовать следующий пример кода для вывода всех видео:
function wpvideo_ru_display_all_videos() {
$args = array(
'post_type' => 'wpremark_video',
'posts_per_page' => 10,
'post_status' => 'publish'
);
$query = new WP_Query($args);
if (!$query->have_posts()) {
return '<p>Видео пока отсутствуют.</p>';
}
$output = '<div class="wpvideo-remark-videos">';
while ($query->have_posts()) {
$query->the_post();
$video_url = get_post_meta(get_the_ID(), 'wpremark_video_url', true);
$author = get_post_meta(get_the_ID(), 'wpremark_author_name', true);
$output .= '<div class="wpvideo-remark-video-item">';
$output .= '<h3>' . esc_html(get_the_title()) . '</h3>';
$output .= '<p>Отзыв от: ' . esc_html($author) . '</p>';
$output .= wpvideo_ru_get_video_embed_html($video_url);
$output .= '</div>';
}
wp_reset_postdata();
$output .= '</div>';
return $output;
}
function wpvideo_ru_get_video_embed_html($url) {
if (strpos($url, 'youtube') !== false || strpos($url, 'youtu.be') !== false) {
// YouTube Embed
preg_match('/(youtu\.be\/|v=)([\w-]+)/', $url, $matches);
$video_id = $matches[2] ?? '';
if ($video_id) {
return '<iframe width="560" height="315" src="https://www.youtube.com/embed/' . esc_attr($video_id) . '" frameborder="0" allowfullscreen></iframe>';
}
} elseif (strpos($url, 'vimeo') !== false) {
// Vimeo Embed
preg_match('/vimeo\.com\/(\d+)/', $url, $matches);
$video_id = $matches[1] ?? '';
if ($video_id) {
return '<iframe src="https://player.vimeo.com/video/' . esc_attr($video_id) . '" width="640" height="360" frameborder="0" allowfullscreen></iframe>';
}
}
return '<p>Неподдерживаемый формат видео.</p>';
}Эту функцию можно использовать в шаблонах или через шорткод, например, добавив:
add_shortcode('wpvideo_ru_videos', 'wpvideo_ru_display_all_videos');<И затем размещать [wpvideo_ru_videos] в нужном месте контента.
Дополнительные рекомендации по оптимизации и безопасности
При автоматической публикации видео важно учитывать несколько аспектов:
- Валидация URL: Всегда проверяйте и фильтруйте URL видео, чтобы избежать XSS и других атак.
- Кеширование: Для повышения скорости загрузки используйте кеширование результатов запросов и вывода видео.
- Обработка ошибок: Логируйте ошибки при добавлении видео, чтобы быстро выявлять проблемы с источниками.
- Настройка прав: Ограничьте доступ к функциям автоматизации только администраторам или доверенным пользователям.
Интеграция с другими плагинами WPSHOP.RU
Для расширения возможностей можно интегрировать WPRemark с другими продуктами WPSHOP.RU:
- Clearfy Pro — для оптимизации и ускорения работы сайта, что особенно важно при большом количестве видео;
- WPStories — для создания интерактивных видеоисторий и привлечения внимания аудитории;
- Тема Reboot — современный дизайн с оптимизацией под видео контент.
Эти инструменты помогут создать мощный видеосайт, полностью автоматизировав процессы публикации и управления контентом.