5.7中的延迟加载iframes

在WordPress 5.7中,默认情况下,iframes将延迟加载,使用浏览器级别加载属性这将为iframes带来相同的性能优势延迟加载图像引入WordPress 5.5.

与影响图像的方式类似,WordPress将添加加载=“惰性”只有那些iframe(iframe)同时具有这两者的标记宽度高度属性,以避免对布局转换产生任何感知到的负面影响。使用wp_filter_content_tags()在WordPress 5.5中引入的函数,特别考虑到了可扩展性,现在允许重用它来实现这个新的性能特性。由于延迟加载iframe的考虑事项与延迟加载图像的考虑事项类似,请参阅原始图像延迟加载公告帖子以及这篇关于浏览器级延迟加载的文章获取有关该主题的背景信息。

另请参见#50756对于 为bug报告和bug跟踪器上的功能开发创建。此功能的使用位置。

对oEmbed内容的影响

默认情况下,WordPress将添加加载=“惰性”属性设置为以下iframes:

  • 帖子内容中的iframe(_内容)
  • 文章摘录中的iframes(Exchange(_E))
  • 文本小部件中的iframe(小部件文本内容)

WordPress网站上使用的大多数iframe通常来自o嵌入式集成,它将自动转换统一资源定位地址统一资源定位地址 互联网上网站或网页的特定网址,例如网站的URL www.wordpress.org粘贴到编辑器时,将特定web平台资源(如tweets或YouTube视频)粘贴到引用的嵌入式媒体中。

这些的标记iframe(iframe)标签由相应的web服务控制,并且只有其中一些web服务遵循提供宽度高度属性。由于WordPress无法猜测嵌入资源的维度加载=“惰性”仅当oEmbediframe(iframe) 标签标签 Subversion中的目录。WordPress使用标签来存储版本(3.6、3.6.1等)的单个快照,这是版本控制系统中标签的常见约定。(不要与帖子标签混淆。)提供了两个维度属性。

自定义延迟加载iframe

开发人员可以自定义iframe是否以及如何延迟加载,其方式与图像加载方式类似滤波器过滤器 过滤器是两种挂钩之一https://codex.wordpress.org/Plugin_API/挂钩。它们为函数修改其他函数的数据提供了一种方法。它们是Actions的对应物。与Actions不同,过滤器是以孤立的方式工作的,不应该有副作用,例如影响全局变量和输出。是现有的wp_lazy_loading_enabled,向前将返回真实的对于iframe(iframe)标签。

例如,如果您希望默认情况下关闭post内容中iframe的延迟加载,可以使用以下代码段:

函数disable_post_content_iframe_lazi_loading($default、$tag_name、$context){if(“iframe”===$tag_name&&“thecontent”===$context){返回false;}return$default;}添加筛选器(“wp_lazy_loading_enabled”,'禁用post_content_iframe_lazy_loading',10,);

此外,还有一个新的wp_iframe_tag_add_loading_attr允许自定义特定iframe(iframe)标签。例如,您可以使用此筛选器跳过加载上的属性iframe(iframe)iframe(iframe) iFrame是内联框架的缩写。iFrame用于在网页中加载另一个HTML文档并呈现它。该HTML文档还可能包含JavaScript和/或CSS,在用户浏览器解析iFrame标记时加载。可能会出现在最初可见的视口中避免影响“最大内容绘画”指标。筛选器与相关的具有相同的签名wp_img_tag_add_loading_attr图像过滤器。

以下是一个示例代码片段,它将禁用在帖子内容中嵌入YouTube视频的延迟加载iframe:

函数skip_loading_lazy_youtube_iframes($value,$iframe,$context){if('thecontent'===$context&&false!==strpos($iframe,'youtube.com')){返回false;}返回$value;}添加筛选器('wp_iframe_tag_add_loading_attr','skip_loading_lazy_youtube_iframes',10,);

请参阅图片延迟加载公告帖子的“定制延迟加载”部分以获取更多指导。

道具@audrasjb公司用于校对。

#5-7,#开发说明,#特征Lazyloding