Видалення атрибутів розміру зображення та підписів


9

Це питання є наслідком цієї дискусії щодо видалення атрибутів виміру із зображень. Код рішення, що надається на цій нитці, працює дуже добре, за винятком того, що він має нещасний побічний ефект, що будь-які [caption]штрихові коди позбавлені зображення.

Після кількох годин копання основного коду я виявив причину цього. Wpeditimage TinyMCE плагін, який відповідає за додавання короткого коду [caption]перевірки на атрибути ширини в шорт-коді та imgтезі. Якщо він не знайде їх, просто видаліть підпис. Оскільки це робиться "на ходу" з javascript у редакторі TinyMCE, я не можу придумати жодного типу фільтрів 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, так, я не хочу втрачати візуальний редактор, тому що мені не вистачає редагування сайту. Дякую за пропозицію, хоча. Будь-які інші ідеї?
Домінік П

Домінік, чи можете ви надати код для "фільтра на img_caption_shortcode, щоб запобігти використанню стилю ширини там"? Це саме те, що мені потрібно, але я не знаю, як написати цей фільтр.

@ Wendy, хм, я не можу вставити всю річ у коментар. Якщо ви хочете задати ще одне питання і надіслати мені посилання на нього, я опублікую його як відповідь.
Домінік П

Якщо ви не хотіли пройти все це, я в основному просто змінив приклад Codex .
Домінік П

Відповіді:


18

це може бути не точною відповіддю, яку ви хочете, але я думаю, що я просто знайшов досить хороший спосіб вирішення.

Я взяв такий код із двадцять одинадцяти тематичних CSS (хто чітко реагує на імхо):

/* 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 */
}

Це було enuff, щоб зробити всі зображення чуйними (принаймні ті, які вбудовані у вміст ...) Тепер у мене є чуйні зображення, але коли використовується підпис, у мене все ще є та сама проблема, яка виникає, оскільки tinyMCE додає атрибут стилю до контейнер з підписом з шириною зображення. Щоб виправити все, що я повинен був зробити, це додати це до мого CSS:

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

Готово! для мене добре працює, хоча для обраних зображень це може не працювати.

Я сподіваюся, що це комусь допоможе :-)


Я ще не встиг перевірити це повністю, але це вже виявилося досить корисним в інших областях. Дякую за допомогу.
Домінік П

моє задоволення :-)
Talbatz

Перевірено це в IE9, здається, не працює як задумано!
Kuldeep Daftary

Це конфліктує зі старими браузерами IE
Tosh

дійсно чудове рішення! thx
emjay
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.