Поддержка Проблемы и решения Как добавить сайт в белый список oembed провайдеров

  • Решено username222

    (@username222)


    В 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

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    ВКонтакте не поддерживает протокол 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/?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Тем не менее, не могли бы вы привести пример добавления в белый список любого сайта, поддерживающего oembed.

    Есть пример для Speaker Deck, но этот сервис с тех пор уже добавили в список 🙂

    Если сервис поддерживает автообнаружение oEmbed, то больше нет необходимости добавлять его отдельно. Например, эта ссылка с CodePen успешно вставляется в запись в виде объекта, хотя данного сервиса в списке нет.

    Как например добавить в белый список Oembed провайдеров https://www.reddit.com/?

    В WordPress 4.4 Reddit уже добавлен в список.

    Автор username222

    (@username222)

    Sergey Biryukov
    Спасибо большее, все понятно.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Как добавить сайт в белый список oembed провайдеров» закрыта для новых ответов.