하드 코딩 된 썸네일 이미지 크기를 어떻게 제거합니까?


15

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

thumbnail.php 파일을 찾으십시오. 확실하지 않지만 일반적으로 파일에는 하드 코딩이 포함되어 있습니다.
Niraj Chauhan

궁금한 점이 있다면 CSS를 사용하여 너비와 높이를 수정할 수 있기를 원합니다. 더 구체적으로 최대 너비를 설정하고 높이를 하드 코딩 된 기본값으로 설정하지 않고 자체적으로 설정하십시오.
카슨

Firebug를 사용하여 정확한 클래스 또는 ID를 얻거나 URL을 알려주십시오.
Niraj Chauhan

2
테마를 벗어난 파일 (예 : post-thumbnail-template.php)을 변경하면 WordPress 업데이트로 덮어 쓰는 것이 좋지 않습니다.
카슨

원하는 것을하기 위해 속성을 제거해야한다고 생각하는 것은 무엇입니까?
t31os

답변:


25

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

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

그것은 나를 위해 작동하지 않습니다. add_filter ( 'post_thumbnail_html', 'remove_thumbnail_dimensions', 10, 3); remove_thumbnail_dimensions ($ html, $ post_id, $ post_image_id) {if (wp_is_mobile ()) {$ html = preg_replace ( '/ (width | height) = \ "\ d * \"\ s /', "", $ html 함수 ); } return $ html; }
dlopezgonzalez

이렇게하면 the_post_thumbnail()사용 된 모든 인스턴스에서 너비 / 높이가 제거 됩니다.
Dario Zadro

5

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

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

1
그것은 내가 만난 유일한 해결책입니다. 해결 방법없이 할 수있는 방법이 있기를 바랐습니다.
카슨

그러나 당신은 또한 alt와 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;
}

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


제발 편집 답변을 하고, 설명을 추가 : 문제를 해결할 수있는?
fuxia

0

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.