2017-10-16 80 views
0

在WordPress,我们已经使用add_image_size加入我们自己的中间图像的尺寸,以标准的WordPress尺寸()。如何限制WP产生附着的元数据()到某些中间图像尺寸

用我们自己的管理界面上传图片,然后我们用wp_generate_attachment_metadata()创建所有缩略图并将其保存到服务器上的预定义文件夹。

然而,我们想限制wp_generate_attachment_metadata()只生成我们自定义的图像大小,而忽略了WordPress的标准尺寸。

这可能吗?

在此先感谢您的帮助!

回答

1

看起来像使用名为intermediate_image_sizes_advanced的wp_generate_attachement_metadata()生成的$sizes数组的过滤器。

,我发现这个片断应该做的伎俩,如果你把这个在某种类型的函数文件(通常它会在你的functions.php文件可能会去):

/** 
* Snippet Name: Disable auto creating of image sizes 
* Snippet URL: http://www.wpcustoms.net/snippets/disable-auto-creating-image-sizes/ 
*/ 
function wpc_unset_imagesizes($sizes){ 
    unset($sizes['thumbnail']); 
    unset($sizes['medium']); 
    unset($sizes['medium_large']); 
    unset($sizes['large']); 
} 
add_filter('intermediate_image_sizes_advanced', 'wpc_unset_imagesizes'); 

以上段应删除所有默认 WordPress的图像从$sizes阵列wp_generate_attachment_metadata使用()的大小,只产生任何自定义图像尺寸已添加。

注:我还没有测试此代码,但它看起来简单的我。 如果您希望该过滤器只影响你“自己的管理界面”你可能不希望把片段放在一个单独的文件的功能,只有被称为在你的管理界面。

查看了以下功能的显影剂参考和钩:https://developer.wordpress.org/reference/functions/wp_generate_attachment_metadata/ https://developer.wordpress.org/reference/hooks/intermediate_image_sizes_advanced/