Sabit kodlu küçük resim boyutlarını nasıl kaldırırsınız?


15

Eklerken genişlik ve yükseklik niteliklerini post_thumbnail öğesinden nasıl kaldırabilirim <?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" />

thumbnail.php dosyasını bulun, emin değilim, genellikle genellikle sabit kodlama içeriyor
— Niraj Chauhan

Merak ediyorsanız, genişlikleri ve yüksekliği CSS ile değiştirmek istiyorum - daha spesifik olarak bir maksimum genişlik ayarlayın ve yüksekliğin varsayılan olarak sabit kodlanmış olana ayarlanmasına izin verin.
— Carson

tam sınıf veya kimlik almak için kundakçı kullanın veya bana URL'nizi verin
— Niraj Chauhan

2
Herhangi bir WordPress güncellemesinin üzerine yazacağı için temanın dışındaki bir dosyadaki herhangi bir şeyi değiştirmek (örneğin post-thumbnail-template.php) kötü bir fikir olacaktır.
— Carson

İstediğiniz şeyi yapmak için özellikleri kaldırmanız gerektiğini düşündüren nedir?
— t31os

Yanıtlar:


25

İlgili: Resim boyutu nitelikleri kaldırılsın mı?

post_thumbnail_htmlArgümanı, sayfaya yansıtılmadan önce yazı küçük resmini temsil eden tam html öğesini alan bir filtre var. Boyutları biraz normal ifadeyle filtreleyebilirsiniz:

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

Benim için çalışmıyor. 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 ('/ (genişlik | yükseklik) = \ "\ d * \" \ s /', "", $ html ); } $ html döndür; }
— dlopezgonzalez

Bu, genişliği / yüksekliği the_post_thumbnail()kullanılan tüm örneklerden kaldıracaktır .
— Dario Zadro

5

başparmağın URL'sini alıp bir img etiketine kendiniz koyabilirsiniz:

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

1
Bu da karşılaştığım tek çözüm, sadece bir çözüm olmadan bunu yapmanın bir yolu olduğunu umuyordu.
— Carson

Ancak alt ve başlık özelliklerini de sorgulamanız gerekir
— 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;
}

bu iş yapacak, "the_contnet" tüm içerik içeriği metin resim genişliği ve yüksekliğini kaldıracaktır.


Lütfen yanıtınızı düzenleyin ve bir açıklama ekleyin: bu sorunu neden çözebilir?
— fuxia

0

Bu çözümü aşağıda bir işlevle global yerine koymadığım için tercih ediyorum. Bu, tema dosyalarınıza dahil edilir.

<?php echo preg_replace( '/(width|height)="\d*"/', '', get_the_post_thumbnail( get_the_ID(), 'large' ) ); ?>

"Büyük" ü "küçük resim", "orta", "dolu" veya temanızda belirtilen özel resim boyutunuzla değiştirebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.