2011-12-08 78 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; 
}