以前在开发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)