让代码更简单

WordPress6.0新增文章图片过滤器

重要:本文最后更新于2022-07-31 21:59:34,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

以前在开发wordpress主题或者插件功能时,遇到需要更改文章中图片的加载方式,或者批量替换图片地址的时候,我们一般采用的是the_content来实现。但是有个问题,正则表达式这玩意儿真不是人写的,经常会出问题,比如替换不完整等情况。现在官方给我们提供了一个新的过滤器wp_content_img_tag,它能帮我们准确找到图片标签。

参数如下

  • string $filtered_image:完整的 img标签,其属性将替换源图像标签。
  • string $context:附加上下文,例如当前过滤器名称或调用 this 的函数名称。
  • int $attachment_id: 图片附件 ID。如果图像不是附件,则为 0。

过滤器必须返回一个字符串,然后将替换img传递给过滤器的标签。

图片加边框示例

function myplugin_img_tag_add_border_color( $filtered_image, $context, $attachment_id ) {
$style = 'border-color: #cccccc;';

$filtered_image = str_replace( '<img ', '<img style="' . $style . '" ', $filtered_image );

return $filtered_image;
}
add_filter( 'wp_content_img_tag', 'myplugin_img_tag_add_border_color', 10, 3 );

更多用法,就需要自己去发现了。

 

感觉很棒!可以赞赏支持我哟~

1 打赏

评论 (1)

登录后评论
很好,省事了不少,赞赞赞
QQ咨询 邮件咨询