
善用子主題,打造你的個性化 Twenty Ten 主題
大家可以看到本站的主題採取了 WordPress 3.0 新上線的預設主題 Twenty Ten,在我使用了這個主題之後,我發覺 Twenty Ten 這個主題功能之強大,已經可以拿來作為框架主題,使用它來衍生許多出色的主題,今天要跟大家說說所謂的「子主題 – Child-theme」的妙用之道。
當你學會靈活運用子主題來修改原始父主題的方法後,你可以使用任何一款你喜愛的主題來個性化成你自己專屬的主題,由於我挺喜歡 Twenty Ten 的強大、以及其採用的 WordPress 新函數,所以這裡便拿它做範本來說明。
根據 WordPress 官方的 Child Themes(子主題)說明,製作子主題非常簡單,你只要建立一個資料夾,在裡頭放入格式正確的 CSS 樣式檔案,這樣就成功建立了你的子主題。我們只要懂一點 HTML+CSS 的基礎知識,就可以使用這個子主題來修改樣式、結構,而不需要更動到父主題的原始檔案,如此對於父主題日後的升級便不會有所影響,並且我們還能保留自己子主題的所有樣式。
![]()
子主題的目錄結構
現在我們來看一下我們建立的子主題存放的目錄結構:
- wp-content
- themes (主題存放的目錄)
- twentyten (範例父主題 Twenty Ten 的目錄)
- twentyten-child (子主題存放的目錄,可以任意命名)
- style.css (子主題中不可或缺的檔案,檔案名必需為 style.css)
- themes (主題存放的目錄)
子主題的資料夾裡至少要包含一個 style.css 檔案,也可以包含一個完整主題的檔案;style.css 是一個子主題唯一必須的檔案。它提供的訊息讓 WordPress 辨認出子主題,並且重寫父主題中的 style.css 檔案。
底下是子主題頂部訊息的撰寫範例:
/*
Theme Name: Twenty Ten Child //Twenty Ten 子主題,可任意命名
Theme URI: http://example.com/ //主題的網頁
Description: Child theme for the Twenty Ten theme //主題敘述
Author: Your name here //你的名字,因為是你寫的主題嘛!
Author URI: http://example.com/about/ //你的網址
Template: twentyten //唯一必須注意的就是這個地方,一定要寫父主題的資料夾名
Version: 0.1.0 //你的子主題版本號
*/
好了,寫完了 CSS 樣式的頂部訊息之後,接下來你可以開始寫你的子主題樣式了,你的子主題樣式會替換原本的父主題 Twenty Ten 樣式,應該說 WordPress 根本就不會載入父主題的樣式了。所以要是我們只想稍微更改父主題的樣式和結構,而不是從頭寫一個新主題的話,那我們就必須要正確導入父主題的樣式表,再對它進行修改。接下來就跟大家說說要怎麼運用 @import 的規則來導入父主題樣式表。
/* Theme Name: Twenty Ten Child //Twenty Ten 子主題,可任意命名 Theme URI: http://example.com/ //主題的網頁 Description: Child theme for the Twenty Ten theme //主題敘述 Author: Your name here //你的名字,因為是你寫的主題嘛! Author URI: http://example.com/about/ //你的網址 Template: twentyten //唯一必須注意的就是這個地方,一定要寫父主題的資料夾名 Version: 0.1.0 //你的子主題版本號 */ @import url("../twentyten/style.css"); //就是使用這個 @import 導入規則來載入父主題樣式表
小提醒:@import 導入規則一定要擺放在樣式表的第一順位,絕對不能在上面有其他 CSS 樣式,否則父主題的樣式表將不會被載入。
![]()
巧用 functions.php
除了樣式表之外,我們還可以在子主題的資料夾裡建立一個 functions.php 功能函數表,但是 functions.php 並不像 CSS 樣式表一樣會覆蓋父主題的功能,而是將新的功能加入,而且他會在父主題的 functions.php 前載入。這樣一來,子主題的 functions.php 就提供我們靈活穩定的方式來修改父主題的功能,而且就算日後父主題升級也不會有所影響,我們可以完全保留先前的修改。
那麼,只要我們想要什麼功能,就可以直接加入子主題的 functions.php 功能函數表裡,還記得我曾經寫過一系列的 WordPress 主題製作學習筆記的文章嗎?你可以看看裡面有哪些功能是你喜歡的,不要遲疑,把它加入你子主題的 functions.php 功能函數表檔案裡!
接下來的幾天,我會一點一滴使用子主題的方式來逐步修改 Twenty Ten 主題,如果你也打算這麼做,歡迎一起來分享交流你的心得,或是遇到問題了,也可以在此一同討論尋求解答喔!
文by覺非/終於又有動力折騰 WordPress 主題
飛翔於文字國裏的蝴蝶,我是愛寫文的女子,不要看我的人,請你看看我的文,那裡面全是我的心.和我想對你說的話……
StartOver.回。到。原。點 http://blogs.carrielis.com
【歷史上的今天】
- 這裡│再次入圍【藍眼觀注】.懇請大家賜票! - 2009
- 遊戲│令人瘋狂的 Facebook 小遊戲.Country Story 農場遊戲 - 2009
- 雜談│部落與心情隨筆 - 2007

你好
你的留言版好像關閉了
之前有請教過你一些問題
http://www.dynamicwp.net/demo/?preview_theme=LightFolio
這是我想要修改的主題
我要新增子主題
也照你所說的去新增資料夾
Template: LightFolio
@import url(‘../LightFolio/pagenavi-css.css’);
只有這兩個要正確其它的應該就沒差吧 只是宣告
可是我這樣修改後 卻無法修改到主頁的CSS
但是為什麼我改了css卻無法更動到主頁
不好意思 還有一個問題
就是中間的三個最新文章顯示
現在都是顯是最新的文章
如果要自己選擇第幾篇的文章
該要設定哪邊
我到header.php裡面找到了
<a href="" title="">
但卻不知道要設定哪邊
嗯,因為新主題還在測試中,有很多地方都還沒完善開放。
關於你出現的問題,給我的資料太少,所以我不曉得你的問題出在哪裡,可能要請你描述詳細點。
另外,你修改CSS是在子主題的CSS裡修改的嗎?父主題的CSS有正確導入嗎?
<a href="" title="">
在原本的範例中有三個文章顯示的地方(可以麻煩你看一下我先前的連結)
我想要選擇自己想要的文章
但是不知道要改哪裡
我想應該是這裏吧但是改來改去改不好
至於子主題的方式
我應該有正確導入
也是在子主題內修改CSS
但是我修改後在測事卻沒有改變
還是不能在本機測試?
或是這個範例是無法使用子主題的?
另外請問~框架式的主題
會比較好上手跟實用嘛?因為我也有看到妳先前的文章有提及
父主題的其他檔案 除了FUNCTION可以複製過去 以方便之後的修改之外
還有甚麼檔案也要複製過去呢?
以上 謝謝~
因為我沒有使用這款主題,所以我不清楚這款主題要怎麼修改,你要不要看看主題的說明文件?我記得國外的主題都會有一份詳細的說明文件。
子主題的樣式如果有正確導入父主題,是不可能發生像你所說的狀況,所以你要不要再檢查看看是否哪裡出了錯?還有,我不清楚他這款主題是否無法使用子主題,不過照理說應該每款主題都可以自行製作子主題的。
子主題唯一必要的檔案就是 style.css 樣式檔,其他檔案可以說都不是那麼必要,所以建議你先找出正確的問題根源,像是詳讀你範例主題的說明文件,這可能對你比較有用喔
我想问问主题颜色怎么修改啊?
你是問 Twenty Ten 的嗎?就是從 CSS 樣式檔案下手啊,自己想改什麼顏色都方便。
可是我不会啊,不知道哪个代码是主体模板的颜色
如果你連基本修改CSS都不會的,那建議你要自學,因為你這樣的問法,我也不知道你要怎麼修改,請善用 Google!
呵呵,实在是不想去研究啊。你的板子主体是灰色的,原来是白色的,那么你修改的哪里呢?难道不止一个地方?
我修改的當然不只一個地方,如果你不想研究,那我就沒有辦法了,你可以直接使用公版主題,完全不傷腦筋,如果要主題照你的想法變化,那就得花時間花精神自己多做功課去研究囉~
弄了許久….還是很難弄得跟覺非一樣漂亮..><
不會吧,Twenty Ten 應該可以說是最好改的一款主題了,其實如果你只是想要他的架構,但是修改外觀成你想要的樣式,就只需要修改 CSS 檔案,其他都不動也可以。像我這次只是小幅度的改了一下背景圖和 banner 圖片,還有調整一下色系,就又是完全不同的感覺了。
或許你可以試著用火狐的擴充元件「Firebug」來尋找你要修改的 CSS 選擇器名稱,再做修改,這樣可能會方便點。
恩…可能是對CSS操作的能力不佳,我一直要將banner的img放在Blog title下方當背景,殊不知…這樣就弄了很久搞不定.
改改CSS顏色我會~~~~~~
可要改其他的他會亂跑><
你是說像我現在的主題一樣嗎?就是左上是 blog title、底下是 banner 圖片,這是要用 CSS 的選擇器來決定位置的,或許你可以給你的 title 和 banner 一個特殊的選擇器,再來調整一下他們的位置。像我的 blog title 是我的 logo 圖片,我給的選擇器就是 #site-title(# 代表我使用 div id),我是將 logo 圖片作為 a 的背景圖片,字型顏色色碼設為 #fff 也就是白色,這樣就完全隱形,然後再把 display 設成 block 來固定。
如果你對 CSS 的運用還不太熟悉,建議線上看看 w3school 在線教程,這樣對主題版面修改會有比較深的瞭解。
感謝的回應,日後會多向您學習!(沒想到我快34歲才接觸這個)板型沒搞好,跟本不感匯入文章~~奔淚。
不用客氣。
學習永遠不嫌晚,不用怕自己年紀大,我下個月就滿三十四歲了,所以年紀大沒什麼,只要你肯學就一定不會遲。
內容才是王道啊!自己架站開部落格,最主要的目的不就是寫文嗎?版面不一定要修整得多華麗,主要是內容呀!
我之前也很注重主題外觀,後來就覺得內容還是比較重要的,我更新也沒那麼勤勞,難得更新一次就會特別用心寫,希望自己這個小天地裡,存留的都是好內容
不好意思,我多嘴嘮叨一番,都是我自己的經驗談
感謝安慰,自2011年4月13日起研究至今學到很多東西,也瞭解到wordpress不像其他部落格好上手,小弟對自己目前的樣式只有一個要求,抬頭及側邊想藍底白字,另外不知高手美女小姊對於sidebar.php裡內容有無淺談的文章參考,感謝您撥沈抽空的回應,奔淚~~。
建議你根據你自己主題的樣式表裡面的選擇器去修改你的樣式,如果要學 CSS 建議去買本書來看,畢竟我也不是專門的老師,你可以 Google 一下有關 CSS 學習的資訊,相信配合教學資訊和自己動手實作,這樣會更清楚瞭解。
另外,如果你跟我一樣使用 Firefox 瀏覽器的話,建議安裝 Firebug 這個擴充元件,可以很快速得知頁面上的樣式表選擇器,一樣,使用方法請自行 Google 囉