创建自定义函数以在WordPress中替换一个

时间:2010-07-20 15:29:23

标签: php wordpress wordpress-plugin

我正在使用WordPress 3.0和'the_post_thumbnail'功能调整图片大小。问题是,当您未指定方形图像时,该功能不会调整为精确尺寸。

// Works fine
add_image_size('my-image-size',100, 100, true);

// Image is only resized to width or height, not both
add_image_size('my-image-size',265, 182, true);

我很确定这是一个错误,因为我觉得应该将图像裁剪到两个尺寸以确定尺寸。我可以在media.php中编辑'image_resize_dimensions'函数,但我想知道是否有更好的方法,用我自己的方式覆盖该函数?

谢谢!

达伦。

3 个答案:

答案 0 :(得分:1)

Mark JaQuith has an article函数推荐的

Codex page on the_post_thumbnail。它讨论了使用不同的函数“set_post_thumbnail_size()来改变图像大小。

    set_post_thumbnail_size( 50, 50, true ); 
    // 50 pixels wide by 50 pixels tall, hard crop mode

它有一个裁剪标记参数,您可以将其传递给您指定的精确尺寸的硬裁剪,或者以您正在经历的方式工作的柔和裁剪。我知道这篇文章具体讨论了WP 2.9,但它可能有所帮助。

答案 1 :(得分:0)

您无法覆盖PHP中的函数。如果您尝试在同一范围内定义具有相同名称的函数,则会出现致命错误。显然您可以使用:override_function()来覆盖内置函数。不确定在其他文件中定义的那些。

你可以定义另一个函数(即:add_image_size2),然后重构代码来调用它,但是你最终会修改比编辑函数更多的代码。

答案 2 :(得分:0)

在我3.0之前的大部分主题开发中,我使用了timthumb插件并取得了很大的成功。因为我也发现内置功能缺乏。您可以找到信息here