0

我正在为 Wordpress 构建响应式主题,但遇到了响应式图像的问题。问题是我需要更改内容内图像的大小。我的逻辑确实说我应该为此使用过滤器,但我找不到专门针对图像的过滤器。我的第一个想法是为此使用 JS,但这个特定的库想要获取大小图像的名称,并且由于我的网站使用一些自定义媒体尺寸,我没有找到正确获取小图像名称的方法.

另一种方法是使用css

img {
 max-width: 100%;
}

但我需要做的是从 img 标签中删除宽度和高度属性。

所以基本上这两种方法都需要我浏览内容并解析出图像标签,然后用新生成的标签替换它们。

我在不同的插件源中进行了一些挖掘,发现它们过滤了 the_content 并仅使用正则表达式来查找 img 标签并将它们替换为新的。

因此,我正在寻找一种解决方案来使这项工作以正确的方式工作,因为我觉得通过整个内容来替换图像并不是正确的方式。如果没有更好的方法可以有人请帮助我解决我的小问题的代码(尤其是正则表达式)。基本上我需要搜索 img 标签并删除宽度和高度属性。

4

2 回答 2

2

只需将其粘贴在您的 functions.php 中,您就可以开始使用了(缩略图或通过编辑器添加的图像中没有宽度或高度)

add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );

function remove_thumbnail_dimensions( $html ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
于 2012-01-13T14:25:30.067 回答
2

CSS 将轻松覆盖内联 img 标签,只需使用

#.. img{

height:auto;
width:100%;

}
于 2011-12-14T16:47:33.667 回答