Поддержка Темы и шаблоны Изменить шаблон

  • Здравствуйте! В моем шаблоне есть место для подключения видео с ютуба и при встраивание html кода, автоматически генерируется миниатюра (картинка) к этому видео. Html код для встраивания на сайте, должен иметь тип (…..src=»http://www.youtube.com/…..), но после того как ютуб обновился он теперь предлагает вот такой код (…..src=»//www.youtube.com/…..). Мой шаблон такой вид не видит, ему нужно обязательно что бы впереди стояло «http:». Что нужно изменить в шаблоне, что бы он мог генерировать миниатюру, когда впереди нет http??? Помогите! Мне кажется, что то нужно изменить в этом коде:

    function fetch_video_thumbnail_url($input) {
        $input = htmlspecialchars_decode(trim((stripos($input, '<iframe') !== false || stripos($input, '<embed') !== false) && preg_match('#src="([^"]+)"#i', $input, $match) ? $match[1] : $input), ENT_QUOTES);
        $out = false;
        if(filter_var($input, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED) !== false && false !== ($url_parts=parse_url($input)) && (stripos($url_parts['host'], 'youtube.com') !== false || stripos($url_parts['host'], 'youtu.be') !== false || stripos($url_parts['host'], 'vimeo.com') !== false)) {
            $url_query = array();if(isset($url_parts['query']))parse_str($url_parts['query'],$url_query);
            $id = isset($url_query['v']) ? $url_query['v'] : (isset($url_query['clip_id']) ? $url_query['clip_id'] : reset(explode('?', end(array_filter(explode('/', $input))))));
    
        if(stripos($url_parts['host'], 'youtube.com') !== false || stripos($url_parts['host'], 'youtu.be') !== false) {
            if(false !== ($contents = @file_get_contents("http://gdata.youtube.com/feeds/api/videos/$id?v=2&alt=jsonc"))) {
                $obj = json_decode($contents, true);
                $out = $obj['data']['thumbnail']['hqDefault'];
            }
        }elseif(stripos($url_parts['host'], 'vimeo.com') !== false) {
            if(false !== ($contents = @file_get_contents("http://vimeo.com/api/v2/video/$id.php"))) {
                $obj = unserialize($contents);
                $out = $obj[0]['thumbnail_large'];
            }
            }
        }
        return $out;
    }
Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
  • Тема «Изменить шаблон» закрыта для новых ответов.