Come si rimuovono le dimensioni dell'immagine in miniatura codificata?


15

Come posso rimuovere gli attributi di larghezza e altezza da post_thumbnail durante l'inserimento 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" />

cercare il file thumbnail.php, non sono sicuro, ma di solito quei file contengono la codifica
effettiva

Nel caso ti stavi chiedendo, voglio essere in grado di modificare larghezze e altezza con CSS - più specificamente impostare una larghezza massima e lasciare che l'altezza si imposti piuttosto che predefinita a quella hard coded.
Carson,

usa firebug per ottenere la classe o l'ID esatti o dammi il tuo URL
Niraj Chauhan

2
Modificare qualsiasi cosa in un file al di fuori del tema (ad esempio post-thumbnail-template.php) sarebbe una cattiva idea in quanto qualsiasi aggiornamento di WordPress lo sovrascriverebbe.
Carson,

Cosa ti fa pensare di dover rimuovere gli attributi per fare quello che vuoi?
t31os

Risposte:


25

Correlati: Filtro per rimuovere gli attributi della dimensione dell'immagine?

C'è un filtro su post_thumbnail_htmlcui riceve come argomento l'elemento html completo che rappresenta l'immagine della miniatura del post prima che venga ripetuta nella pagina. Puoi filtrare le dimensioni con un po 'di regex:

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

Per me non funziona. add_filter ('post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); funzione remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ('/ (width | height) = \ "\ d * \" \ s /', "", $ html ); } restituisce $ html; }
dlopezgonzalez,

5

potresti semplicemente prendere l'url del pollice e inserirlo tu stesso in un tag img:

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

1
Questa è l'unica soluzione che ho trovato anche, speravo solo che ci fosse un modo per farlo senza una soluzione alternativa.
Carson,

Ma devi anche cercare gli attributi alt e 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;
}

questo farà il lavoro, "the_contnet" rimuoverà tutta la larghezza e l'altezza dell'immagine del testo del contenuto del post.


Si prega di modificare la risposta , e aggiungere una spiegazione: perché potrebbe che risolvere il problema?
fuxia
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.