图片上传量大(使用timthhum.php

时间:2013-01-08 作者:remi90

我的网站上的所有图片似乎都有这个问题。

首先,我优化了a。Photoshop中的jpg约为100k(这是一个大标题图像),然后我通过Wordpress的媒体上传器上传为特色图像。以下是我用于在模板文件中输出图像的代码:

<?php if (has_post_thumbnail( $post->ID )): ?>
            <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
            <img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=660&h=246&zc=1" alt="<?php the_title(); ?>" />
        <?php endif; ?>

Problem:

当我在浏览器中查看图像时,它的文件大小似乎约为900k。原始文件大小的9倍!

通过Wordpress上传后,是什么导致文件大小增加的?是WP的媒体上传器还是timthumb。php脚本?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

不要使用timthumb,而是使用内部图像API。

首先,通过使用指定要使用的自定义大小add_image_size:

用法:

<?php add_image_size( $name, $width, $height, $crop ); ?>
所以你会把这个放在你的主题中functions.php:

add_image_size( \'large_post_image_header\', 660,246,true);
然后,代替:

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'full\' ); ?>
<img src="<?php bloginfo(\'template_directory\'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=660&h=246&zc=1" alt="<?php the_title(); ?>" />
您可以指定以下内容:

<?php
if ( has_post_thumbnail() ) {
    the_post_thumbnail( \'large_post_image_header\' );
} else {
    // show a default image or something
}
?>
对于已经具有现有特色图像的帖子,在新图像大小正常工作之前,您需要使用插件重新生成缩略图和额外的图像大小(只需执行一次)。

您甚至可能希望安装WP-Thumb 插件使API更加强大,允许您添加图像过滤器、控制裁剪位置、旋转,它甚至对主题文件也有timthumb风格的独立用法

http://hmn.md/introducing-wp-thumb/

最后一步是timthumb.php 用一千个太阳的火来燃烧它。之后,请自夸一下,您现在正在使用最佳实践,并且您已经针对无数潜在的安全和维护问题进行了未来验证(并精简了您的代码库=p)。

结束

相关推荐

get excerpt without images

有没有办法不使用get\\u the\\u extract()获取图像?我正在使用my\\u recent\\u post()函数将帖子拉到主页上,我不需要让它拉帖子中的图像,只需拉一些文本。下面是我正在使用的函数:function my_recent_post() { global $post; $html = \"\"; $my_query = new WP_Query( array( \'post_type\' => \'po