我在大多数教程中都看到在媒体部分将所有图像设置为0。我已经做到了,但是转到我的上载文件夹,它仍然会创建多个图像。
我找不到任何解决方案。我想要这样做的原因是为了节省主机帐户上的空间。
#1 楼
要建立Max Yudin的答案,您应该使用intermediate_image_sizes_advanced
过滤器,而不是image_size_names_choose
。添加到functions.php function add_image_insert_override($sizes){
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['large']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );
我认为另一个更简单的方法是转到“设置”->“媒体”,并将每个框的宽度和高度设置为
0
#2 楼
您还可以使用一个空数组来过滤middle_image_sizes。 add_filter( 'intermediate_image_sizes', '__return_empty_array' );
#3 楼
如果我没记错,您必须先设置所有默认值unset
,然后在其中添加新的Size
: <?php
function mxdCustomImageSizes($sizes) {
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['large']);
unset( $sizes['full'] );
$myimgsizes = array(
'full-size' => __( 'Full Size' )
);
if( !empty($sizes) )
return array_merge($sizes, $myimgsizes);
else
return $myimgsizes;
}
add_filter('intermediate_image_sizes_advanced', 'mxdCustomImageSizes');
如果出现问题,请纠正我
P。 S.您需要一个插件来根据您的新设置将所有图像“另存为”。我可以推荐Regenerate Thumbnails插件。
P。 P. S.如果是单个选项,则必须选择一种方法:)。在新的(3.5.1)媒体窗口中,无法直接选择一种尺寸。
评论
嗨,麦克斯,我认为这是错误的过滤器,当您在媒体框中选择图像时,image_size_names_choose用于输出。
–维克
13年3月16日在16:15
是的,你是对的。感谢您提供的信息,现在我必须修改一些已经完成的内容。
– Max Yudin
13年3月17日在19:03
#4 楼
访问WordPress信息中心的“设置”>“媒体”页面。在“图像大小”部分下,将所有值更改为0。保存更改。这将停止WordPress为您上传的每个图像生成缩略图,中型和大尺寸图像。
您还将注意到,当您插入图像时,“尺寸”下拉框将丢失。
评论
这行不通!
–阿里·哈希米(Ali Hashemi)
2014年9月11日下午13:07
@Pazis它在较旧版本的WordPress中有效,但似乎在4.0中不起作用
–乳木果
2014年9月12日下午6:15
#5 楼
对于具有激活的WooCommerce插件的最新WordPress,请使用以下代码:function add_image_insert_override($sizes){
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['medium_large']);
unset($sizes['large']);
unset($sizes['1536x1536']);
unset($sizes['2048x2048']);
unset($sizes['blog-isotope']);
unset($sizes['product_small_thumbnail']);
unset($sizes['shop_catalog']);
unset($sizes['shop_single']);
unset($sizes['shop_single_small_thumbnail']);
unset($sizes['shop_thumbnail']);
unset($sizes['woocommerce_thumbnail']);
unset($sizes['woocommerce_single']);
unset($sizes['woocommerce_gallery_thumbnail']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'add_image_insert_override' );
add_filter('max_srcset_image_width', create_function('', 'return 1;'));
但是如果您留下一个小缩略图(
thumbnail
)和一个中型图像( medium
)。PS您可以通过安装Regenerate Thumbnails插件查看所有注册的大小。并且不要忘记在主题方面生成
add_image_size()
。#6 楼
function remove_default_image_sizes( $sizes) {
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['large']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced','remove_default_image_sizes');
不要忘了像这样
return $sizes;
。然后添加新的图像尺寸,例如...
if(function_exists('add_image_size')){
add_image_size('my_100x100_crop',100,100,true); // Crop mode
add_image_size('my_100x100_resize',100,100); // Resize mode
}
经过测试!
评论
这样可以从“插入后发布”中删除尺寸,但Wordpress仍会生成缩略图!
–阿里·哈希米(Ali Hashemi)
2014年9月11日下午13:05
#7 楼
最近在一些站点上使用intermediate_image_sizes_advanced
过滤器时遇到了麻烦。似乎在WP 5.3中,intermediate_image_sizes
更可靠。我建议取消设置不必要的尺寸,例如:
add_filter('intermediate_image_sizes', 'remove_default_img_sizes', 10, 1);
function remove_default_img_sizes($sizes)
{
$targets = ['medium', 'medium_large', 'thumbnail'];
foreach ($sizes as $size_index=>$size) {
if (in_array($size, $targets)) {
unset($sizes[$size_index]);
}
}
return $sizes;
}
评论
请关闭所有插件,然后切换到默认主题。然后,您应该能够将所有图像尺寸设置为0,并防止WP生成这些尺寸。如果这不起作用,请报告。如果可行,则存在一些插件或主题干扰。