随着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行找到:
body.custom-background { <?php echo trim( $style ); ?> }
删除其中的 .custom-background 变为:
body { <?php echo trim( $style ); ?> }
此方法适合所有之前支持“背景”功能的主题,但需修改程序文件,本人不建议使用。
方案二 这是标准的解决的方案,打开默认主题Twenty Eleven的header.php模版,你会发现有一句:
<body <?php body_class(); ?>>
代替了正常的<body>标签,这是关键,将上面的代码替换自己所使用主题header.phpdedecms8.com/moban/">模板<body>标签即可。
方案三 用
<body class="custom-background">
替换header.php模版<body>标签,不让其增加额外的标签,此方法方便实用,适合所有主题。
下面专门说一下HotNews Pro 2.7Plus主题解决方案
一、HotNews主题,按方案一修改程序文件后,背景功能将恢复正常,其它无需改动。
二、由于HotNews主题功能结构复杂,如果按方案二操作,需修改的模版文件较多,有些麻烦,但通过折腾主题,你可能会学到更多的知识,下面开始操作:
1、HotNews Pro 2.7Plus主题有6个header模版,分别对应不同的页面布局,打开所有以header开头的模版文件,按方案二的方法替换所有<body>标签。
2、之后查找:
class="home"
修改为:
id="home"
共有两个,之所以要修改此标签,是因为增加:
<body <?php body_class(); ?>>
后,会在首页自动生成".home"标签,与主题样式冲突,造成首页页面偏左。
3、打开HotNewspro主题styles目录的所有样式文件,修改所有以”.home“开头的选择器为”#home“,有两处。
4、最简单的方法就是采用方案三,只用:
<body class="custom-background">
替换所有以header开头的模版<body>标签,让其不自动生成".home"标签,比较方便。
提示:修改中文模板需保证为UTF-8无BOM编码格式,建议在后台主题编辑功能中修改或者使用Notepad++等文本编辑软件,切记不能用系统自带的记事本编辑主题模版。