하드 코딩 된 썸네일 이미지 크기를 어떻게 제거합니까? 및 높이 속성을 제거하려면

로 삽입 할 때 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" />


답변

관련 : 이미지 차원 속성을 제거하기위한 필터?

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

답변

엄지 손가락의 URL을 가져 와서 img 태그에 넣을 수 있습니다.

<?php
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'your_thumb_handle' );
?>
<img src="<?php echo $thumbnail['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;
}

그러면 “the_contnet”이 모든 게시물 내용 텍스트 이미지 너비와 높이를 제거합니다.


답변

함수로 전역 바꾸기를 수행하지 않기 때문에 아래 에서이 솔루션을 선호합니다. 이것은 테마 파일에 통합됩니다.

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

“큰”을 “썸네일”, “중간”, “전체”또는 테마에 선언 된 사용자 정의 이미지 크기로 바꿀 수 있습니다.