我相信你的问题是$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. :) )