Запасной вариант для встроенного контента


Есть ли какой-нибудь простой способ определить, по-прежнему ли URL-адрес oEmbed возвращает какой-либо контент? И если да, то есть ли способ заменить отсутствующий встроенный контент каким-либо резервным контентом?

Например, если я вставлю instagram.com URL-адрес в моем посте, WordPress распознает его и использует oEmbed для вставки виджета встраивания Instagram в сообщение в блоге. Это обеспечивает приятный богатый опыт для посетителей с описанием, тегами, ссылкой на человека, разместившего изображение в Instagram и т.д.

Однако с течением времени возрастает вероятность того, что некоторые пользователи удалят свои старые изображения из Instagram. Как только это произойдет, вставлять будет нечего, и в сообщении в блоге вообще не будет изображения. В таких случаях я хотел бы иметь возможность определять (не)доступность встроенного содержимого и предоставлять изящный запасной вариант, такой как локально сохраненное изображение.

Если кто-нибудь знает, как этого добиться, некоторая помощь была бы весьма полезна оцененный.

 4
Author: Dave Romsey, 2015-04-21

1 answers

Вероятно, непрактично. Когда вы не контролируете контент, вы не можете знать, будет ли он встроен во время просмотра. Самый простой пример того, почему это может быть сложно в контексте youtube/vimeo, - это видео, которые могут быть ограничены, как частными, так и географически ограниченными. В этом случае контент все еще может быть встроен, но пользователь видит какое-то сообщение "этот контент ограничен". В этом случае вы можете захотеть показать вам альтернативный контент, но обнаружить такое событие невозможно на стороне wordpress. У Youtube есть API JS, который может дать вам соответствующие указания, но не у всех поставщиков услуг есть такой API (в серверной части кода wordpress нет такой вещи AFAIK)

Вы можете обнаружить удаление контента, пытаясь выполнить протокол oembed раз в несколько дней для всех сообщений, но если предположить, что для этого нет проблем с масштабированием, что именно вы будете делать, когда oembed выйдет из строя? вы не можете заменить видео или песню альтернативным контентом, и использование изображения instagram с вашего сервера является нарушением авторских прав.

Если вас беспокоит такая вещь, сделайте то, что делает CNN, когда они вставляют твиты, где они копируют текст твита как часть своего контента, другими словами - если у вас есть альтернативный контент, просто используйте его на стороне встроенного.

 1
Author: Mark Kaplun, 2016-09-11 07:27:46