admin管理员组文章数量:1404622
How can I remove the width and height attributes from the post_thumbnail when inserting with <?php the_post_thumbnail(); ?>
?
<img width="800" height="533" src=".jpg" class="attachment-post-thumbnail wp-post-image" />
How can I remove the width and height attributes from the post_thumbnail when inserting with <?php the_post_thumbnail(); ?>
?
<img width="800" height="533" src="http://domain/wp-content/uploads/2011/02/image.jpg" class="attachment-post-thumbnail wp-post-image" />
Share
Improve this question
asked Jul 7, 2011 at 14:50
CarsonCarson
3313 gold badges4 silver badges11 bronze badges
6
- look for thumbnail.php file, not sure but usually that files contain the hard coding – Niraj Chauhan Commented Jul 7, 2011 at 14:54
- In case you were wondering, I want to be able to modify widths and height with CSS - more specifically set a max-width and let the height set itself rather than default to the hard coded one. – Carson Commented Jul 7, 2011 at 14:54
- use firebug to get the exact class or ID, or give me your URL – Niraj Chauhan Commented Jul 7, 2011 at 14:56
- 2 Changing anything in a file outside the theme (for example post-thumbnail-template.php) would be a bad idea as any WordPress update would overwrite it. – Carson Commented Jul 7, 2011 at 15:10
- What makes you think you need to remove the attributes to do what you want? – t31os Commented Jul 7, 2011 at 17:27
4 Answers
Reset to default 25Related: Filter to remove image dimension attributes?
There's a filter on post_thumbnail_html
which receives as its argument the full html element representing the post thumbnail image before it's echoed to the page. You can filter out the dimensions with a bit of 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;
}
you could just grab the url of the thumb and put it in an img tag yourself:
<?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;
}
this will do the job, "the_contnet" will remove all post content text image width and height.
I prefer this solution below as I'm not doing a global replace with a function. This would be incorporated into your theme files.
<?php echo preg_replace( '/(width|height)="\d*"/', '', get_the_post_thumbnail( get_the_ID(), 'large' ) ); ?>
You can replace "large" with "thumbnail", "medium", "full", or your custom image size declared in your theme.
本文标签: How do you remove hard coded thumbnail image dimensions
版权声明:本文标题:How do you remove hard coded thumbnail image dimensions? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744808617a2626300.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论