根据大小自动生成缩略图压缩

时间:2012-07-17 作者:DarkGhostHunter

这是对this question, 在这种情况下,jpg压缩会根据WP的内置图像返回的图像大小进行更改。虽然它可能对大多数人都有效,但我正在寻找一种更为离散和自动的方法。这改变了wp_create_thumbnail 我想。

关键是:如何改变上传图像自动生成缩略图的JPG压缩?例如,图像宽度低于400px时为60%,宽度介于401px至100px之间时为80%。

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

我正在寻找一种更加离散和自动的方法。这改变了wp_create_thumbnail 我想。

这就是你错的地方。以下是的完整代码wp_create_thumbnail() 从核心:

function wp_create_thumbnail( $file, $max_side, $deprecated = \'\' ) {
    if ( !empty( $deprecated ) )
        _deprecated_argument( __FUNCTION__, \'1.2\' );
    $thumbpath = image_resize( $file, $max_side, $max_side );
    return apply_filters( \'wp_create_thumbnail\', $thumbpath );
}
这个函数本身没有多大作用。相反,如果你需要改变什么,那就是image_resize() ... 但改变核心功能仍然是错误的做法。

为什么不更改核心文件呢?主流开发人员通常不赞成更改核心文件。如果您更改了core,并且没有重新提交对项目的更改,那么您将得到WordPress的分叉版本-下次发布更新时,您必须在更新后重新编辑core文件以维护新功能。

在许多情况下,您想要对core进行的更改只适用于少数人,通常只有您自己。除非这些更改将使大多数WP用户受益,否则当前开发周期范围之外的任何核心更改通常会稍后提交,或在Trac中留下一个;“wontfix”;决议

对你或我有用的东西不属于核心项目,而是属于插件。

正确的方法是创建自己版本的image_resize() 在插件中。然后构建自己的my_create_thumbnail() 符合以下条件的功能:

function my_create_thumbnail( $file, $max_side ) {
    return apply_filters( \'wp_create_thumbnail\', my_image_resize( $file, $max_side, $max_side ) );
}
此函数的签名与wp_create_thumbnail() 并触发相同的过滤器,因此它可以作为所有其他插件和主题脚本中原始函数的一对一替换。

结束

相关推荐

Slideshow with thumbnails

我这里有一个简单的演示来说明我的问题。http://www.ttmt.org.uk/wordpress/这是一个使用cycle插件的图像幻灯片-http://jquery.malsup.com/cycle/图像直接添加到页面的内容中,包含内容的div被传递给cycle函数。我的问题是,我想有下面的图像缩略图。我见过一些WordPress插件可以做到这一点,但它们都需要相同的图像尺寸才能工作。我的图像高度相同,但宽度不同。是否有一个插件可以对不同宽度的图像执行此操作。如果没有,谁能建议我怎么做。我真的希望这