在插入图像时忽略‘媒体>设置’中的设置

时间:2012-04-05 作者:Gary

当我上传图像时,它会按照我的预期自动调整大小,但是插入图像的大小似乎忽略了我在设置/媒体中的设置。

在我的媒体设置中,我有:

缩略图:150 x 150中:300 x 300大:690 x 9999我上载的图像为2226 x 1663

缩略图:150 x 150(如预期)中:300 x 224(如预期)大:640 x 447(错误。为什么?)我查看了论坛,发现一个建议,建议我在我的功能中添加以下内容。php文件:

update_option(\'large_size_w\', 690);
然而,这并不奏效。

3 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

我相信你的问题是$content_width 变量(即640px 在样板中,以及584px 小于您指定的宽度Settings -> Media.

WordPress正在使用特定于主题的值覆盖您的用户设置。这实际上是有道理的,因为一个主题知道它的最大内容宽度,并且使用一个比主题设计要适应的更大的图像宽度很可能会破坏主题布局。

如果需要将大图像宽度更改为690px (假设您的子主题可以容纳此宽度),是define $content_width in your Child Theme functions.php file. 我建议使用一个连接到after_setup_theme(), 像这样:

<?php
function wpse48075_theme_setup() {
    // Define $content_width global
    global $content_width;
    if ( ! isset( $content_width ) ) {
        $content_width = 690;
    }
}
add_action( \'after_setup_theme\', \'wpse48075_theme_setup\', 9 );
?>
优先级9 这可能有点过头了,因为您的子主题的操作将被添加到父主题的操作之前;但使用优先级9将保证在父主题设置启动之前,此操作以优先级10启动。

由于您的子主题动作首先触发,因此子主题定义$content_width, 父主题不会覆盖它(因为它还使用if ( ! isset() ) 条件包装)。

编辑一下,看一下21functions.php 文件中,我意识到我做了一个错误的假设:211定义$content_width 赤裸裸地functions.php, 而不是在主题设置函数中,连接到after_setup_theme. 所以,要覆盖它,**你也必须这样做**。

只需将以下内容放在functions.php 文件,在任何其他函数定义之前:

$content_width = 690;
这应该行得通,因为儿童主题functions.php 在父主题之前进行分析functions.php.

(这是主题为什么应该wrap all the things inside callbacks. :) )

SO网友:Scriptamateur

如果您想更多地控制上载图像时生成的图像大小,请查看Simple Image Sizes plugin

SO网友:Tom J Nowell

修改媒体页面上的设置,使最大嵌入宽度为690,而不是空白

enter image description here

结束

相关推荐

MEDIA_SIDELOAD_IMAGE文件名?

我正在使用media\\u sideload\\u image从web下载图像并存储它们。然而,问题是youtube上的图片总是被称为“hqdefault.jpg”,这意味着它将覆盖现有的图片。有三种方法可以解决此问题:如何更改附件结构,使其包含postname?(当前:http://example.com/wp-content/uploads/2011/10/hqdefault-40x40.jpg)</如何将附件的文件名设置为postname,从而防止重写</如何设置现有附件缩略图的新文件名