2011-12-08 51 views
0

我正在为Wordpress构建响应主题,并遇到了响应式图像的麻烦。问题是我需要改变内容中图像的大小。我的逻辑确实说我应该使用过滤器,但我无法找到一个专门针对图像。 我的第一个想法是使用一个JS lib,但这个特定的人想要得到的大小图像的名称,因为我的网站正在使用一些自定义媒体大小,我没有找到一种方法来正确获取小的名字图片。响应Wordpress主题图像修复

另一种方法是使用CSS

img { 
max-width: 100%; 
} 

却又什么,我需要做的是从IMG标记删除的宽度和高度属性。

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

我做了一些挖掘在不同的插件来源,发现他们过滤the_content,只是使用正则表达式来查找img标签,并用新的替换它们。

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

+0

我真的不没有关于响应主题为东西我不是一个Web开发人员,但我注意到,布鲁斯·劳森真的只是啾啾他写正是这一主题的博客文章。 [看看这里](http://www.brucelawson.co.uk/2011/notes-on-adaptive-images-yet-again/) –

回答

2

的CSS很容易覆盖内嵌img标签,只需使用

#.. img{ 

height:auto; 
width:100%; 

} 
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; 
}