Как исправить ошибку Facebook oEmbed в WordPress

С 24 октября 2020 года Facebook прекращает поддержку неаутентифицированных встраиваний WordPress. Таким образом, если вы встраиваете контент Facebook и Instagram на свой сайт WordPress, он не будет отображаться.

Старые конечные точки Facebook oEmbed заменяются новыми, которые требуют аутентификации через Facebook. Поскольку Facebook владеет Instagram, те же требования применяются и к конечным точкам Instagram oEmbed.

Как исправить ошибку Facebook oEmbed в WordPress

Из статьи вы узнаете, как WordPress использует конечные точки oEmbed Facebook и Instagram, что обновляется и как можно что-то исправить, чтобы ваши встраивания продолжали работать должным образом.

Как WordPress использует oEmbed для встраивания контента

oEmbed – это протокол, по которому сайты встраивают контент с других сторонних сайтов с помощью только URL-адреса. Он разработан в первую очередь для того, чтобы избежать необходимости копировать и вставлять HTML с других сайтов. WordPress использует oEmbed для отображения встроенного контента, такого как фотографии и видео.

Все, что вам нужно сделать, это разместить URL-адрес ресурса в области содержимого, и WordPress автоматически превратит его во встраивание и покажет его предварительный просмотр в реальном времени.

Как исправить ошибку Facebook oEmbed в WordPress

Встраивание контента с помощью только URL-адреса в WordPress

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

Хотя WordPress позволяет встраивать очищенные фреймы от любого зарегистрированного поставщика oEmbed, он не встраивает их все по умолчанию из соображений безопасности. По умолчанию он встраивает только URL-адреса определенных санкционированных провайдеров oEmbed.

Список надежных поставщиков oEmbed для WordPress включает большинство популярных хостинговых сайтов и социальных сетей, таких как Imgur, Facebook, Instagram, Tumblr, YouTube, Vimeo и другие. От этих поставщиков можно встраивать любой контент: видео, фреймы, JavaScript и даже случайный HTML.

Встроенные конечные точки Facebook и Instagram (устаревшие)

Конечные точки Facebook и Instagram oEmbed являются основой для встраивания контента Facebook и Instagram в сайты WordPress.

Как исправить ошибку Facebook oEmbed в WordPress

Пример того, как WordPress встраивает контент Facebook

Конечные точки Facebook oEmbed позволяют WordPress получать не только основной контент, но и метаданные, такие как имя и логотип страницы, дату и время, миниатюру, количество лайков, комментариев и репостов, а также URL-адрес источника.

Как исправить ошибку Facebook oEmbed в WordPress

Пример того, как WordPress встраивает контент Instagram

То же самое касается встраивания контента из Instagram. Вы можете видеть во встраивании не только изображение, но и важную информацию о метаданных, связанную с ним.

Новые конечные точки Facebook и Instagram «oEmbed»

Facebook недавно объявил о прекращении поддержки существующих конечных точек oEmbed, начиная с 24 октября 2020 года. Теперь они называют эти старые конечные точки устаревшими конечными точками oEmbed.

К 24 октября 2020 года разработчики должны использовать токен пользователя, приложения или клиента при запросе Graph API изображений профиля пользователя через UID, FB OEmbeds и IG OEmbeds. Разработчики должны предоставить токен пользователя или приложения при запросе изображений профиля через UID или ASID, хотя клиентские токены также поддерживаются. Посетите наш журнал изменений для User PictureFacebook OEmbed и Instagram OEmbed, чтобы узнать, как вызывать эти конечные точки Graph API.
Facebook для разработчиков

Что нужно сделать, чтобы воспользоваться преимуществами Facebook oEmbed API

Идя против открытого характера веб API oEmbed, новый Facebook oEmbed API имеет различные требования:

  • У вас должна быть учетная запись Facebook для разработчика.
  • Необходимо иметь зарегистрированное приложение Facebook для создания уникального идентификатора приложения.
  • Нужно включить продукт oEmbed для зарегистрированного приложения.
  • Вы должны создать токен доступа к приложению или токен клиентского доступа.
  • Наконец, вы должны установить приложение Facebook в режим реального времени.

В ответ на эти новые требования WordPress удаляет Facebook и Instagram как надежные источники oEmbed.

Мы ожидаем, что следующее крупное обновление WordPress будет включать эти изменения. Если вы используете плагин Gutenberg, последняя версия Gutenberg 9.0 уже удалила для них поддержку.

Что происходит со старыми встраиваемыми файлами Facebook и Instagram?

WordPress кэширует ответы oEmbed в своей базе данных под типом post meta или скрытым oembed_cache типом записей (в настоящее время используется только в виджетах).

Поскольку WordPress не очищает эти значения по умолчанию, содержимое вложений будет по-прежнему существовать на вашем веб-сайте.

Но они будут удалены, если вы удалите их вручную из базы данных. Таким образом, любые встраиваемые файлы Facebook или Instagram, которые вы добавили до крайнего срока 24 октября 2020 года, сохранятся даже после даты прекращения поддержки.

Как встраивать контент Facebook и Instagram после 24 октября

Если вы попытаетесь внедрить контент Facebook или Instagram после того, как конечные точки oEmbed устарели, вы и ваши пользователи получите в ответ ошибки HTTP 400.

Как исправить ошибку Facebook oEmbed в WordPress

Имитация встраивания с использованием устаревших конечных точек Facebook oEmbed

Резервные вставки Facebook будут отображаться в виде небольших отрывков (не более 120 символов) внутри цитат. Он также будет содержать ссылки на автора и первоисточник, но не более того.

Как исправить ошибку Facebook oEmbed в WordPress

Имитация встраивания с использованием устаревших конечных точек Instagram oEmbed

Для сравнения, резервные встраивания Instagram намного лучше, поскольку структура встраивания практически не повреждена.

С учетом сказанного, это временная проблема. Как только WordPress удалит конечные точки oEmbed Facebook и Instagram из своего ядра, устаревшие конечные точки oEmbed перестанут быть проблемой.

Единственный способ встраивать контент Facebook и Instagram – это соответствовать требованиям Facebook. Как именно это сделать, читайте в следующем разделе.

Смотрите также:

Какие размеры рекламных баннеров Google, Facebook и Instagram.

Как исправить ошибку oEmbed Facebook и Instagram в WordPress

Самый простой способ восстановить встраиваемые Facebook и Instagram в WordPress – использовать бесплатный плагин oEmbed Plus от Ayesh Karunaratne. Этот плагин реализует новые API-интерфейсы Facebook и Instagram oEmbed, восстанавливая встраиваемые Facebook и Instagram в редакторе блоков.

Как исправить ошибку Facebook oEmbed в WordPress

Установите и активируйте плагин.

Примечание: oEmbed Plus требует для работы PHP 7.3 или более поздних версий.

Затем создайте учетную запись Facebook для разработчиков, если у вас ее еще нет, и приложение. Для примера назовем приложение «WordPress Site», но можете называть его как угодно.

Как исправить ошибку Facebook oEmbed в WordPress

Создать приложение на портале Facebook для разработчиков

Создание приложения автоматически сгенерирует для него идентификатор приложения.

Вы можете просматривать ваш App ID и App Secret, перейдя в Настройки → Базовая панель под вашим приложением. Запишите эти два значения, так как они понадобятся вам позже.

Как исправить ошибку Facebook oEmbed в WordPress

Facebook для разработчиков «App ID» и «App Secret»

Пока вы здесь, установите URL Privacy Policy, как это требуется. Рекомендуется использовать надлежащую политику конфиденциальности, чтобы ваше приложение не попало в черный список.

OEmbed Product автоматически включается по умолчанию, так что вы можете оставить его как есть.

Затем перейдите на экран Настройки → Запись на панели инструментов WordPress и найдите раздел Настройки встраивания в Facebook и Instagram. Введите значения App ID и App Secret, которые вы записали ранее.

Как исправить ошибку Facebook oEmbed в WordPress

Настройка параметров плагина oEmbed Plus

Кроме того, вы можете добавить App ID и App Secret в свой wp-config.php файл. Вот фрагмент кода, который вам нужно использовать:

define('OEMBED_PLUS_FACEBOOK_APP_ID', '7168...app.id...789');  
define('OEMBED_PLUS_FACEBOOK_SECRET', '20e5...app.secret...890xyz');

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

Если вы отредактируете wp-config.php файл для настройки oEmbed Plus, он автоматически отключит поля формы App ID и App Secret на вашей панели управления WordPress. Таким образом, вы можете хранить свои учетные данные в секрете от других пользователей.

Все новые встраиваемые Facebook и Instagram теперь будут использовать новый API аутентификации для встраивания контента на ваш сайт WordPress.

Другие специализированные плагины для социальных сетей, такие как Instagram Feed и Social Post Feed, также добавляют поддержку новых конечных точек Facebook oEmbed. Однако эти плагины поставляются в комплекте с множеством функций, поэтому они могут быть ненужным грузом для вашего сайта в этом конкретном случае. Если вы уже используете эти плагины, то можете их проверить.

WordPress – самая популярная из используемых сегодня CMS. Точно так же Facebook и Instagram являются самыми популярными платформами социальных сетей. Следовательно, это изменение потенциально затронет миллионы сайтов.

Встраивание контента социальных сетей в WordPress предлагает посетителям вашего сайта уникальное взаимодействие. Начиная с 24 октября 2020 года многим неосведомленным пользователям будет сложно встраивать контент из Facebook и Instagram. Надеемся, что эта статья помогла вам решить проблему с oEmbed Facebook в WordPress.

Источник: kinsta.com

Алексей Шевченко
Алексей Шевченко
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Источник: hostenko.com/wpcafe

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

%d такие блоггеры, как: