随着 WordPress 3.3 正式版的发布,很多盆友都在第一时间将程序升级到最新版,不过很快发现某些具备 「背景」 功能的主题 (包括 HotNews 主题) 之前设置的背景失效了。

WordPress 早在 2.8 版就增加了自定义背景 body_class() 函数,直到 3.0 版才在默认主题中增加了 「背景」 功能,具备此功能的主
题也不是很多,可能大部分主题设计者会觉得这个功能有些鸡肋,简单通过修改 CSS 样式就可实现的功能,没有必要增加一次数据库查询,但这句
body_class() 函数初衷,并不是为了简单更换整个站点所有页面的背景,而是方便设计人员灵活的控制不同页面中各个元素样式,大道理不说了,下面
说一下具体的解决方案:

方案一 WordPress 3.3 版在程序 wp-includes 目录 theme.php 中增加一个 custom-background 标签,这是造成 「背景」 功能失效的问题所在,打开 theme.php 程序文件,在第 1797 行找到:

1.body.custom-background { <?php echo trim( $style ); ?> }

删除其中的 .custom-background 变为:

1.body { <?php echo trim( $style ); ?> }

此方法适合所有之前支持 「背景」 功能的主题,但需修改程序文件,不建议使用。

方案二 这是标准的解决的方案,打开默认主题 Twenty Eleven 的 header.php 模版,你会发现有一句:

1.<body <?php body_class(); ?>>

代替了正常的<body> 标签,这是关键,将上面的代码替换自己所使用主题 header.php 模板<body> 标签即可。

方案三

1.<body class="custom-background">

替换 header.php 模版<body> 标签,不让其增加额外的标签,此方法方便实用,适合所有主题。