Измените URL видео по умолчанию в сообщении на формат короткого кода.

Вопрос или проблема

Я хочу добавить видео с youtube/vimeo в мой пост. Каждый раз, когда я добавляю видео в свой пост, в админке (Добавить новый пост) будет отображаться ссылка, такая как https://www.youtube.com/watch?v=dsUXAEzaC3Q, а на фронтенде будет отображаться само видео. Но проблема в том, что я хочу показать видео в формате шорткода вместо оригинального видео. То есть показывать шорткод, как выше, вместо видео на фронтенде. Как это возможно? Пожалуйста, помогите мне.

Добавьте следующий код в конце файла functions.php, и вам нужно будет заменить встроенный шорткод.

function video_shortcode($atts) {
    // Извлечь URL из атрибутов шорткода
    $url = isset($atts['url']) ? esc_url($atts['url']) : '';

    // Проверить, предоставлен ли действительный URL
    if ($url) {
        // Извлечь ID видео из URL YouTube
    $video_id = '';
    parse_str(parse_url($url, PHP_URL_QUERY), $query_params);
    if (isset($query_params['v'])) {
        $video_id = $query_params['v'];
    }

    // Если ID видео найден, сгенерировать код iframe для встраивания видео YouTube
    if ($video_id) {
        $iframe_code="<iframe width="560" height="315" src="https://www.youtube.com/embed/" . $video_id . '" frameborder="0" allowfullscreen></iframe>';
        return $iframe_code;
    }
    }

    // Если действительный URL не предоставлен, вернуть пустую строку
    return '';
}
add_shortcode('custom_video', 'video_shortcode');

Чтобы отобразить вывод шорткода с кликабельной ссылкой, при этом все еще выглядя как шорткод, вам нужно заменить встроенный шорткод:

add_shortcode( 'video', 'wpse_96840_literal_video' );

function wpse_96840_literal_video( $atts )
{
    $url = $atts['url'];

    return '<code>'
        . sprintf( '', $url )
        . '</code>';
}

Результат

вставьте описание изображения здесь

Ответ или решение

Как заменить стандартный URL видео в посте на формат шорткода

В данной инструкции мы рассмотрим, как изменить отображение видео в посте, чтобы вместо стандартного URL (например, ссылка на видео с YouTube или Vimeo) в административной панели отображался шорткод, а на фронтенде возникала возможность отображения видео в формате шорткода. Это может быть полезно для улучшения читаемости кода и организации контента.

Шаг 1: Добавление функции для шорткода

Первым делом нужно добавить необходимый код в файл functions.php вашей темы. Этот код позволяет использовать пользовательский шорткод для видео, при этом он будет отображаться в формате шорткода, а не как встроенное видео.

Вот код для добавления в functions.php:

function video_shortcode($atts) {
    // Извлекаем URL из параметров шорткода
    $url = isset($atts['url']) ? esc_url($atts['url']) : '';

    // Проверяем, предоставлен ли действительный URL
    if ($url) {
        // Извлекаем ID видео из URL YouTube
        $video_id = '';
        parse_str(parse_url($url, PHP_URL_QUERY), $query_params);
        if (isset($query_params['v'])) {
            $video_id = $query_params['v'];
        }

        // Если найден ID видео, создаем код для встраивания видео YouTube
        if ($video_id) {
            $iframe_code = '<iframe width="560" height="315" src="https://www.youtube.com/embed/' . $video_id . '" frameborder="0" allowfullscreen></iframe>';
            return $iframe_code;
        }
    }

    // Если URL не действителен, возвращаем пустую строку
    return '';
}
add_shortcode('custom_video', 'video_shortcode');

Шаг 2: Создание шорткода для отображения ссылки

Чтобы ваш шорткод мог отображать видео как ссылку на него в формате шорткода, добавьте следующий код:

add_shortcode('video', 'wpse_96840_literal_video');

function wpse_96840_literal_video($atts) {
    $url = $atts['url'];

    return '<code>'
        . sprintf('', $url)
        . '</code>';
}

Применение

Теперь, когда вы будете добавлять видео в свой пост, вы сможете использовать шорткод [custom_video url="вставьте_ваш_url_видео"]. На фронтенде ссылки будут заменяться на вид шорткода.

Результат

После выполнения всех шагов у вас будет возможность использовать шорткоды в ваших постах для видео, что упростит работу по управлению контентом:

  • Вместо прямых ссылок на видео пользователи будут видеть чистый шорткод.
  • Более легкое управление контентом и его отображением.

Заключение

Эти изменения могут значительно улучшить пользовательский опыт при работе с видео-контентом в вашей системе управления контентом. Применяя приведенный выше код, вы сможете создать более организованный и читабельный интерфейс для ваших постов.

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

Оцените материал
Добавить комментарий

Капча загружается...