Esta pregunta es una derivación de esta discusión sobre la eliminación Atributos de dimensión a partir de imágenes. El código de solución provisto en ese hilo funciona muy bien, excepto que tiene el desafortunado efecto secundario de que cualquier código corto de [caption]
está separado de la imagen.
Después de varias horas de investigar el código del núcleo, encontré la causa de esto. El complemento wpeditimage TinyMCE que se encarga de agregar el código corto [caption]
verifica los atributos de ancho en el código corto y la etiqueta img
. Si no los encuentra, simplemente quita la leyenda. Dado que esto se hace 'sobre la marcha' con javascript en el editor TinyMCE, no puedo pensar en ningún tipo de filtro de WordPress que aborde este problema. Sin embargo, estaría muy feliz de estar equivocado. :)
Como nota final, mi solución temporal ha sido utilizar el siguiente jQuery para eliminar todas las etiquetas del lado del cliente. Esto, junto con un filtro en img_caption_shortcode
para evitar que se use un estilo de ancho allí, parece hacer el trabajo. No es bonito, pero es una curita por ahora. ¿Alguien tiene una mejor idea?
// 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');