Как удалить жестко заданные размеры миниатюр изображений?


Как я могу удалить атрибуты ширины и высоты из post_thumbnail при вставке с <?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" />
Author: Carson, 2011-07-07

4 answers

Связанный: Фильтр для удаления атрибутов размеров изображения?

На post_thumbnail_html есть фильтр, который получает в качестве аргумента полный html-элемент, представляющий уменьшенное изображение публикации, прежде чем оно будет отображено на странице. Вы можете отфильтровать размеры с помощью небольшого регулярного выражения:

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;
}
 25
Author: goldenapples, 2017-04-13 12:37:34

Вы можете просто взять URL-адрес большого пальца и поместить его в тег img самостоятельно:

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['0']; ?>" />
 6
Author: Milo, 2011-07-07 15:01:40
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;
}

Это сделает работу, "the_contnet" удалит всю ширину и высоту текстового изображения содержимого публикации.

 0
Author: Duke Yin, 2018-08-23 15:20:31

Я предпочитаю это решение ниже, так как я не выполняю глобальную замену функцией. Это будет включено в ваши файлы тем.

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

Вы можете заменить "большой" на "миниатюру", "средний", "полный" или свой собственный размер изображения, объявленный в вашей теме.

 0
Author: Dario Zadro, 2020-01-23 23:46:58