0

Wordpressのレスポンシブテーマを作成していますが、レスポンシブ画像で問題が発生しました。コンテンツ内にある画像のサイズを変更する必要があるということです。私のロジックでは、そのためにフィルターを使用する必要があると言われていますが、具体的に画像をターゲットにするフィルターが見つかりませんでした。私の最初の考えはそのためにJSlibを使用することでしたが、この特定のライブラリは大きい画像と小さい画像の両方の名前を取得したいと考えています。私のWebサイトはいくつかのカスタムメディアサイズを使用しているため、小さい画像の名前を正しく取得する方法が見つかりませんでした。 。

もう1つの方法は、cssを使用することです

img {
 max-width: 100%;
}

しかし、ここでも、imgタグからwidth属性とheight属性を削除する必要があります。

したがって、基本的にどちらの方法でも、コンテンツを調べて画像タグを解析し、それらを新しく生成されたものに置き換える必要があります。

さまざまなプラグインソースを調べたところ、それらがthe_contentをフィルタリングし、正規表現を使用してimgタグを見つけて新しいものに置き換えることがわかりました。

だから私はこれを正しい方法で機能させるための解決策を探しています。なぜなら、画像を置き換えるためだけにコンテンツ全体を調べるのは正しい方法ではないと感じているからです。それを行うためのより良い方法がない場合は、誰かが私の小さな問題を解決するためのコード(特に正規表現)を手伝ってください。基本的に、imgタグを検索し、幅と高さの属性を削除する必要があります。

4

2 に答える 2

2

CSSはインラインimgタグを簡単にオーバーライドします。

#.. img{

height:auto;
width:100%;

}
于 2011-12-14T16:47:33.667 に答える
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 に答える