我想知道是否可以使用内置在WP核心的oEmbed来显示视频嵌入,但以某种方式删除输出中的高度和宽度属性?我知道这些功能存在于媒体中。php,但我不想弄乱核心。
我提出这个问题的原因是,我们正在为客户端开发一个主题,该主题使用流体网格框架和任何具有指定高度和宽度属性的图像/视频,这意味着它们不会在较小的视口中随网格缩放,或者有什么方法可以做到这一点?
任何帮助都将不胜感激
谢谢
我想知道是否可以使用内置在WP核心的oEmbed来显示视频嵌入,但以某种方式删除输出中的高度和宽度属性?我知道这些功能存在于媒体中。php,但我不想弄乱核心。
我提出这个问题的原因是,我们正在为客户端开发一个主题,该主题使用流体网格框架和任何具有指定高度和宽度属性的图像/视频,这意味着它们不会在较小的视口中随网格缩放,或者有什么方法可以做到这一点?
任何帮助都将不胜感激
谢谢
oEmbed调用的输出通过oembed_result
然后缓存在数据库中。每次显示内容时,输出都会再次通过embed_oembed_html
. 因此,您可以在这两个位置中的任何一个添加一个过滤器,以检查width
和height
属性并删除它们。当然,由于代码来自嵌入的源代码,您不能总是确定格式是什么样的。这两个过滤器的第二个参数是嵌入URL,您可以检查它以区分您的处理(“如果它来自YouTube,请执行此操作,如果它来自Flickr,请执行此操作,…”)。
有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。