当我为attachment_fields_to_save添加过滤器时,我收到了奇怪的行为,当我保存图像时,它不想保存图像元数据,如标题,描述和标题。如何自动生成自定义图像尺寸
为什么我需要添加此过滤器?因为我有很多使用此代码自定义尺寸:
add_image_size("imagesize-940x360", 940, 360, true);
而且图像可能无法正确地放在好地方,因此用户需要使用WordPress的真棒工具编辑图像像裁剪和缩放。
由于某些愚蠢的原因(或者这可能是错误),Wordpress不会为自定义图像尺寸生成图像。
为了实现自定义尺寸的生成,当用户在Wordpress图像编辑器中按下保存按钮时,我需要添加过滤器。这里是我一直使用一块代码:
add_filter("attachment_fields_to_save", "rl_regenerate_image", 99, 2);
function rl_regenerate_image($post, $attachment)
{
$id = $post['ID'];
$fullsizepath = get_attached_file($id);
wp_update_attachment_metadata($id, wp_generate_attachment_metadata($id, $fullsizepath));
return true;
}
上面的代码生成时用户正确地编辑该图像的自定义尺寸但遗憾的是它不保存所有更新的元数据的图像,如标题,标题和说明。
你们知道如何解决这个问题吗?所以我想实现的是如何生成自定义大小的“编辑”图像并正确保存元数据。
在此先感谢!
“的WordPress不生成自定义图像尺寸图像”确实是一个错误,请参阅http://core.trac.wordpress.org/ticket/19889。 – jarnoan 2013-10-03 10:01:14