Estoy trabajando en un sitio basado en una plantilla CSS de ancho fluido que establece un ancho máximo en las imágenes al ancho de la columna que las contiene, y necesito eliminar los atributos de dimensión de ancho y alto en línea que WordPress agrega a las imágenes.
Lo estoy haciendo con mis imágenes destacadas con este filtro:
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3 );
function remove_thumbnail_dimensions( $html, $post_id, $post_image_id ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}
Sé que puedo aplicar el mismo filtro al contenido , si es necesario. ¿Pero hay una mejor manera de hacer esto?
images
filters
post-thumbnails
goldenapples
fuente
fuente
img_caption_shortcode
, que procesa el código abreviado del subtítulo, requiere que se especifique un ancho en los atributos del código abreviado del subtítulo. De lo contrario, omite el subtítulo por completo y solo devuelve el contenido envuelto dentro de las[caption]
etiquetas de código corto.img_caption_shortcode
. Sin embargo, escribir el código para una función como esa es más de lo que puedo incluir en los comentarios.img_caption_shortcode
activado sea suficiente para resolver el problema.Respuestas:
¡Gracias a todos!
El filtro image_send_to_editor era el que estaba buscando ... gracias @ t31os por señalarlo.
Aquí están mis funciones ahora.
Esto elimina los atributos de dimensión en línea de las imágenes recuperadas
the_post_thumbnail()
y evita que esos atributos se agreguen a las nuevas imágenes agregadas al editor. No los elimina de las imágenes recuperadas a través dewp_get_attachment_image
otras funciones relacionadas (no hay ganchos allí), pero esos casos se pueden procesar en los archivos de plantillas cuando sea necesario.fuente
image_send_to_editor
y, en su lugar, agregarlothe_content
, como esta publicación de blog . Esto separa la lógica de presentación del contenido.Modificó este script un poco. ¡Gracias por la ayuda!
fuente
si configura el tamaño de la imagen en function.php como una "galería"
puede eliminar el ancho y la altura de un tamaño de imagen específico como "galería":
fuente
La aplicación de ese filtro lo
the_content
activará para todo el contenido. Esto será efectivo, pero podría afectar el rendimiento y el tiempo de carga de su sitio. Sería mejor si le dice a WordPress que simplemente no inserte las etiquetas de ancho y alto en línea cuando inserta imágenes en primer lugar.Desafortunadamente, los scripts que realmente insertan la imagen están construidos en JavaScript e interactúan con el editor wysiwyg de TinyMCE. Puede haber una manera de conectarlo directamente, pero no utilizando las
add_filter()
llamadas estándar .fuente
image_send_to_editor
trabajo aquí?