Я управляю сайтом, который общается только через SSL / https, поэтому, если я встраиваю видео YouTube с использованием http, я получу сообщение об ошибке, говорящее, что сайт не полностью защищен. Можно ли что-то переписать, чтобы WordPress принимал https и при этом автоматически вставлял ссылки на YouTube, добавленные в область контента? Потому что теперь, когда я пытаюсь встроить ссылку на YouTube https, все, что отображается, это URL, а не фильм.
Обновить
Я пытался добавить провайдеров, используя этот код в functions.php, но он ничего не делает:
wp_oembed_add_provider('https://youtu.be/*', 'https://youtube.com/oembed' );
wp_oembed_add_provider('#https://(www\.)?youtube.com/watch.*#i', 'https://youtube.com/oembed', true);
wp_oembed_add_provider('http://youtu.be/*', 'https://youtube.com/oembed' );
wp_oembed_add_provider('#http://(www\.)?youtube.com/watch.*#i', 'https://youtube.com/oembed', true);
Ответы:
http://core.trac.wordpress.org/ticket/18719 теперь имеет рабочий патч.
Редактировать: Плагин код, чтобы сделать подобное, пока патч не появится:
источник
Решение Отто не работает в WP 3.6, по-видимому, из-за того, что в ядре произошли изменения, и теперь они совпадают с https: //, поэтому добавленные поставщики никогда не будут сопоставлены. Хотя https: // теперь совпадает с ядром, он всегда обеспечивает вставку http: //, даже если исходный URL-адрес - https: //, поэтому у нас все еще остается та же проблема.
Я решил просто преобразовать все протоколы oembeds:
источник
wp_oembed_add_provider()
Например, никогда не работали варианты.Вы можете взломать принудительное возвращение https в файле functions.php для поиска iframes с src, начинающимся с http, и заменить https. [Я прекратил «быть» из этих URL, так как некоторые из общих URL-адресов - youtu.be и youtube.com]
источник
Youtube поддерживает https URL для видео (просто добавьте «s» в обычный URL). Тем не менее, они также заявляют, что:
Похоже, вы пока не сможете получать видеопотоки https. По-видимому, это подтверждается опубликованной вами трак-ссылкой: (Комментарий 7 от Otto42) «Пока YouTube не вернет https, в iframe появится такая ссылка, поэтому в большинстве браузеров такая ссылка просто приведет к поломке страницы, поскольку iframe не SSL «.
Ссылка: http://apiblog.youtube.com/2011/02/https-support-for-youtube-embeds.html
Вы также можете проверить это решение: http://www.adammershon.com/display-youtube-videos-on-ssl-page/ (Это, по сути, "послужит" видео, как если бы оно было на вашей странице.)
(Я не вижу ничего нового по этому вопросу.)
источник