Bagaimana Anda menghapus dimensi gambar thumbnail yang dikodekan dengan keras?


15

Bagaimana saya bisa menghapus atribut width dan height dari post_thumbnail saat menyisipkan <?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" />

mencari file thumbnail.php, tidak yakin tetapi biasanya file tersebut mengandung hard coding
Niraj Chauhan

Jika Anda bertanya-tanya, saya ingin dapat memodifikasi lebar dan tinggi dengan CSS - lebih khusus mengatur lebar-max dan membiarkan tinggi mengatur sendiri daripada default ke yang kode keras.
Carson

gunakan pembakar untuk mendapatkan kelas atau ID yang tepat, atau berikan saya URL Anda
Niraj Chauhan

2
Mengubah apa pun dalam file di luar tema (misalnya post-thumbnail-template.php) akan menjadi ide yang buruk karena setiap pembaruan WordPress akan menimpanya.
Carson

Apa yang membuat Anda berpikir Anda perlu menghapus atribut untuk melakukan apa yang Anda inginkan?
t31os

Jawaban:


25

Terkait: Filter untuk menghapus atribut dimensi gambar?

Ada filter post_thumbnail_htmlyang menerima sebagai argumennya elemen html lengkap yang mewakili gambar thumbnail posting sebelum digaungkan ke halaman. Anda dapat memfilter dimensi dengan sedikit 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;
}

Itu tidak bekerja untuk saya. add_filter ('post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); function remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ('/ (lebar | tinggi) = \ "\ d * \" \ s /', "", $ html ); } kembalikan $ html; }
dlopezgonzalez

5

Anda bisa mengambil url ibu jari dan meletakkannya di tag img sendiri:

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

1
Itulah satu-satunya solusi yang saya temui juga, hanya berharap ada cara untuk melakukannya tanpa penyelesaian.
Carson

Tetapi Anda juga perlu menanyakan atribut alt dan judul
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;
}

ini akan melakukan pekerjaan, "the_contnet" akan menghapus semua lebar dan tinggi gambar teks konten posting.


Harap edit jawaban Anda , dan tambahkan penjelasan: mengapa itu bisa menyelesaikan masalah?
fuxia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.