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