禁用WordPress大图像大小缩放

时间:2019-12-02 作者:Álvaro Franz

WordPress非常棒,我非常喜欢它。

但是5.3版给我带来了(许多其他的,1, 2, 3, 4...) 自动缩小大图像的新强制功能存在一个大问题。

我正在尝试使用以下筛选器禁用它(因为我不需要/想要它,而且它不工作):

add_filter( \'big_image_size_threshold\', \'__return_false\' ); 
其中回调函数\\uu return\\u false()只是一个WordPress包装函数,返回false。

但它不工作,我仍然得到一个错误,这意味着该功能没有被禁用。

同样的情况也发生在the recommended plugin. 它并没有修复错误。

What error?: 后处理失败,请将图像缩放到2500px以下。

我确实清理了浏览器缓存,将PHP版本设置为7.2并激活了mbstring(as suggested by others 关于相同的问题)。

The error happens for some uploads, not for all of them:

它与上传大图片无关。

以下是一些描述问题的事实:

我正在随机截图随机区域(指随机大小)

  • 有些图像可以上传

  • 5 个回复
    最合适的回答,由SO网友:Álvaro Franz 整理而成

    现在,它在以下设置下按预期工作(禁用缩放):

    在我的主题中functions.php

    add_filter( \'big_image_size_threshold\', \'__return_false\' );
    
    WP Media Settings:

    enter image description here

    SO网友:Pitchpole

    我也有同样的问题,无法为kicks关闭big\\u image\\u size\\u threshold(WordPress推出的最糟糕的新功能之一),我尝试删除return false周围的引号,但没有解决问题。Codex中的示例实际上显示了引号。https://codex.wordpress.org/Function_Reference/_return_false

    我已经在core tracker中为这个可能的bug打开了一张罚单。

    SO网友:ZeroGravity

    我发现一个客户的网站上的过滤器不起作用。我在一个沙箱站点上做了很多测试,过滤器工作正常。该网站正在使用Avada主题。Avada在主题设置中内置了阈值大小,因此您可以自定义缩放图像的大小。这覆盖了我在我的核心插件中尝试关闭它的地方。

    我第一次尝试为9999的add\\u过滤器添加优先级,希望它稍后运行,但在这个实例中似乎不起作用(我仍在测试)。我在Avada中将阈值大小设置为0,它成功地关闭了大图像缩放。

    我建议尝试增加优先级,看看这是否有帮助。如果没有,请搜索主题和插件,看看它是否设置在那里。我知道这在一个实时站点上可能会很困难,但我会尝试使用一个WP默认主题并停用所有插件,看看它是否有效。然后逐个重新激活主题和插件,以查看是否有导致问题的主题和插件。

    我用这个插件在现场测试了这类东西,WP-Staging

    要删除其他尺寸,我发现设置过滤器还不够,还需要取消设置新尺寸。

    // Remove images sizes
    function zgwd1010_filter_image_sizes( $sizes) {
        unset( $sizes[\'1536x1536\']); // disable 2x medium-large size
        unset( $sizes[\'2048x2048\']); // disable 2x large size
        return $sizes;
    }
    add_filter(\'intermediate_image_sizes_advanced\', \'zgwd1010_filter_image_sizes\');
    

    SO网友:Garconis

    我不知道为什么__return_false 不起作用,但像这样的东西可以:

    function gc_big_image_size_threshold( $threshold ) {
        return 9999; // new threshold
    }
    add_filter(\'big_image_size_threshold\', \'gc_big_image_size_threshold\', 100, 1);
    

    SO网友:user3135691

    您需要删除“\\uu return\\u false”周围的引号。

    <?php
    // Remove the quotes around __return_false
    add_filter( \'big_image_size_threshold\', __return_false); 
    
    您为函数指定了一个字符串,因此过滤器没有执行。

    相关推荐

    https images not displaying

    Setup嗨,伙计们!我有个奇怪的问题。我正在使用安装了ssl证书的wordpress Premium BeTheme。Problem问题是,虽然图像是用https上传到网站上的,但它们没有显示出来。如果我手动将图像的URL从https切换到http,它们就会开始显示。What I have done?我尝试过在internet上卸载ssl证书和几乎所有的解决方案,但都没有解决。Here is the URL of the website : https://uptimeelite.com/