Этот вопрос является ответом на это обсуждение удаления атрибутов измерений из изображений. Код решения, предоставленный в этом потоке, работает очень хорошо, за исключением того, что он имеет неприятный побочный эффект, когда любые [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');