隨着 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> 標籤,不讓其增加額外的標籤,此方法方便實用,適合所有主題。