画像とキャプションの寸法属性の削除


9

この質問は、画像からの寸法属性の削除に関するこのディスカッションの派生です。そのスレッドで提供されるソリューションコードは、[caption]ショートコードがイメージから削除されるという不幸な副作用があることを除いて、非常にうまく機能します。

コアコードを数時間掘り下げた後、私はこの原因を発見しました。ショートコードの追加を担当するwpeditimage TinyMCEプラグイン[caption]は、ショートコードとimgタグの幅属性をチェックします。それらが見つからない場合は、単にキャプションを削除します。これはTinyMCEエディターでJavaScriptを使用して「オンザフライ」で実行されるため、この問題に対処するWordPressフィルターの種類は考えられません。しかし、私は間違っていることが証明されてとても嬉しいです。:)

最後の注意として、私の一時的な解決策は、次のjQueryを使用して、問題のタグをすべてクライアント側から取り除くことです。これはimg_caption_shortcode、幅のスタイルがそこで使用されないようにするためのフィルターと組み合わせて、仕事をしているようです。それはきれいではありませんが、それは今のところバンドエイドです。誰かがより良いアイデアを持っていますか?

// Strip width and height attributes from img, video, and object in the main article so we can have fluid images
var $fluid_items = $('.main-article-wrapper').find('img,video,object');
$fluid_items.removeAttr('width');
$fluid_items.removeAttr('height');

うーん...ビジュアルエディターを使用できることは要件ですか?HTMLエディターのみを使用する場合、img_caption_shortcodeのフィルターは正常に機能します...
goldenapples

@goldenapplesええ、技術者以外の人にサイトを編集させるつもりなので、ビジュアルエディターを失いたくありません。しかし提案をありがとう。他のアイデアは?
ドミニクP

ドミニク、「img_caption_shortcodeのフィルターで幅スタイルが使用されないようにする」ためのコードを提供できますか?これはまさに私が必要とするものですが、そのフィルターの書き方がわかりません。

@ウェンディ、うーん、全部をコメントに貼り付けることはできません。別の質問をしてそれへのリンクを提供したい場合は、回答として投稿します。
ドミニクP

すべてをやりたくない場合は、基本的にコーデックスの例を変更しました。
ドミニクP

回答:


18

それはあなたが求めている正確な答えではないかもしれませんが、私はかなり良い回避策を見つけたと思います。

21テーマのCSS(きちんと応答するimhoです)から次のコードを取得しました。

/* Images */
.entry-content img,
.comment-content img,
.widget img {
    max-width: 97.5%; /* Fluid images for posts, comments, and widgets */
}
img[class*="align"],
img[class*="wp-image-"] {
    height: auto; /* Make sure images with WordPress-added height and width >attributes are scaled correctly */
}
img.size-full {
    max-width: 97.5%;
    width: auto; /* Prevent stretching of full-size images with height and >>width attributes in IE8 */
}

これはすべての画像を応答可能にするのに十分でした(少なくともコンテンツに埋め込まれたもの...)これで応答画像がありますが、キャプションを使用しても同じ問題が発生します。これは、tinyMCEがスタイル属性を画像の幅を持つキャプションコンテナ。これを修正するには、これをCSSに追加するだけです。

            .wp-caption { max-width: 100%; }

できた!注目の画像ではうまくいかないかもしれませんが、私にとってはうまくいきます。

これが誰かに役立つことを願っています:-)


これを完全にテストする時間はまだありませんでしたが、他の領域ですでにかなり有用であることが証明されています。助けてくれてありがとう。
ドミニクP

私の喜び:-)
Talbatz

IE9でテストしましたが、意図したとおりに動作しないようです。
Kuldeep Daftary 2013年

これは古いIEブラウザーと競合します
Tosh

本当に素晴らしい解決策です!thx
emjay 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.