¿Cómo se eliminan las dimensiones de las imágenes en miniatura codificadas?


15

¿Cómo puedo eliminar los atributos de ancho y alto de post_thumbnail al insertar con <?php the_post_thumbnail(); ?>?

<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/image.jpg" class="attachment-post-thumbnail wp-post-image" />

buscan thumbnail.php archivo, no estoy seguro, pero por lo general que los archivos contienen la codificación del disco
Niraj Chauhan

En caso de que se lo pregunte, quiero poder modificar los anchos y la altura con CSS, más específicamente establezca un ancho máximo y deje que la altura se establezca en lugar del valor predeterminado.
Carson

usa firebug para obtener la clase o ID exacta, o dame tu URL
Niraj Chauhan

2
Cambiar cualquier cosa en un archivo fuera del tema (por ejemplo post-thumbnail-template.php) sería una mala idea ya que cualquier actualización de WordPress lo sobrescribiría.
Carson

¿Qué te hace pensar que necesitas eliminar los atributos para hacer lo que quieres?
t31os

Respuestas:


25

Relacionado: ¿ Filtro para eliminar atributos de dimensión de imagen?

Hay un filtro en el post_thumbnail_htmlque recibe como argumento el elemento html completo que representa la imagen en miniatura de la publicación antes de que se repita en la página. Puede filtrar las dimensiones con un poco de expresión regular:

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;
}

A mi no me funciona. add_filter ('post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); función remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ('/ (width | height) = \ "\ d * \" \ s /', "", $ html ); } return $ html; }
dlopezgonzalez

5

puedes agarrar la url del pulgar y ponerla en una etiqueta img tú mismo:

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />

1
Esa es la única solución que he encontrado también, solo esperaba que hubiera una manera de hacerlo sin una solución alternativa.
Carson

Pero también debe consultar los atributos alt y title
MZAweb

0
add_filter( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10 );
add_filter( 'image_send_to_editor', 'remove_thumbnail_dimensions', 10 );
add_filter( 'the_content', 'remove_thumbnail_dimensions', 10 );
function remove_thumbnail_dimensions( $html ) {
    $html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
    return $html;
}

esto hará el trabajo, "the_contnet" eliminará todo el ancho y alto de la imagen del texto del contenido de la publicación.


Por favor, editar su respuesta , y añadir una explicación: ¿por qué podría que resolver el problema?
fuxia
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.