Как добавить сайт в белый список oembed провайдеров
-
В WordPress можно вставлять ссылки на сайты как oembed объекты. Примерно как мы это делаем Вконтакте или Facebook. Вставляешь ссылку, а отображается красивый блок с анонсом и превьюшкой. Или видео, если вставить ссылку на видеохостинг. Но так обрабатываются не все ссылки, а только внесенные в белый список. Я не программист и не понял как воспользоваться функцией wp_oembed_add_provider(), чтобы добавить сайт и формат URL в белый список. Можете пояснить мне на примере вконтакте, как добавит вконтакте в белый список, чтобы можно было вставлять видео и посты из вконтакта в блог.
И второй вопрос. Можно как то включить автообнаружение oEmbed Discovery. плагин, про который идет речь в документации (https://wordpress.org/plugins/enable-oembed-discovery/) уже устарел, ему уже 6 лет.
Информацию получил отсюда:
http://codex.wordpress.org/%D0%92%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
http://codex.wordpress.org/Function_Reference/wp_oembed_add_provider
-
ВКонтакте не поддерживает протокол oEmbed, вариант с wp_oembed_add_provider() для него не подходит.
Мог бы подойти вариант с wp_embed_register_handler(), но в адресе видео нет параметра
hash
, без которого оно не воспроизводится:- Пример URL: https://vk.com/video?z=video-51189706_456239092
- Пример кода для вставки:
<iframe src="https://vk.com/video_ext.php?oid=-51189706&id=456239092&hash=312812f2bfd47a63&hd=1" width="607" height="360" frameborder="0"></iframe>
Параметры
oid
иid
можно получить из адреса, ноhash
— нет, т.е. ВКонтакте, увы, не позволяет автоматически получить код плеера по адресу видео (иначе соответствующий плагин давно был бы написан).Остаётся один вариант — кликнуть на видео правой кнопкой и выбрать пункт «Копировать код видео», затем вставить код в запись.
Можно как то включить автообнаружение oEmbed Discovery
Оно включено в WordPress 4.4 (движок сам стал oEmbed-провайдером).
Sergey Biryukov
Спасибо, с вконтакте понятно. Тем не менее, не могли бы вы привести пример добавления в белый список любого сайта, поддерживающего oembed.
И еще вопрос, а как то можно узнать поддерживает произвольный сайт в Интернете oembed или нет?Возвращаясь к вопросу. Как например добавить в белый список Oembed провайдеров https://www.reddit.com/?
Тем не менее, не могли бы вы привести пример добавления в белый список любого сайта, поддерживающего oembed.
Есть пример для Speaker Deck, но этот сервис с тех пор уже добавили в список 🙂
Если сервис поддерживает автообнаружение oEmbed, то больше нет необходимости добавлять его отдельно. Например, эта ссылка с CodePen успешно вставляется в запись в виде объекта, хотя данного сервиса в списке нет.
Как например добавить в белый список Oembed провайдеров https://www.reddit.com/?
В WordPress 4.4 Reddit уже добавлен в список.
Sergey Biryukov
Спасибо большее, все понятно.
- Тема «Как добавить сайт в белый список oembed провайдеров» закрыта для новых ответов.