在你開始建立你的主題框架之前,你需要考慮它是如何工作的,以及它將會被用來做什么,這樣你才能從一開始就找到最合適的開發途徑。
在這一課中,我將帶領你逐一了解你需要考慮的每一個方面,包括你的框架是否面向公眾開放,是非程序員還是開發人員使用它,以及你也許想添加的其他的一些功能。
要決定你的開發途徑需分兩步走:一,確定你的wordpress主題框架會如何使用;二,在此基礎上,確認你需要包括的所有內容。
如何使用你的主題框架?
使用主題框架的途徑會影響到你要包括的內容和構建框架的方式。
考慮如下:
你的主題框架的受眾——僅僅是你或其他的一些開發人員?
你的主題框架會提供給幾乎沒有編程經驗的開發人員或者用戶使用嗎?
你的主題框架是否會面向公眾開放?
僅僅是你或其他的一些開發人員?
如果你的框架只是為了滿足你個人需要的話,在開發的時候你就只需要考慮你自己的需求了;但是,從長遠來看,盡量把它從一開始就建立得盡可能穩健還是很有意義的,所以你應該:
使用WordPress編碼標準
應用DRY(切勿復制自己)原則
使用W3C驗證檢查器可以驗證的代碼,并確保你的代碼是可以訪問的。
添加代碼說明——即使別人不看你的代碼,當你很多個月之后再次進行編寫時,你也會驚奇地發現忘記一段代碼是多么容易的一件事。
使用版本控制框架的更新。
如果你的主題框架會被提供給其他的開發人員(或許就是你的同事)使用的話,那么除了要采用以上所有的做法外,你也許還需要:
提供框架結構、函數和掛鉤的概述文件。
考慮你在代碼上分享和協作的方式——使用一個協作系統會使這一切變得異常簡單,例如GitHub。
記錄下你的版本,或者將它們連接到“里程碑”(milestones)和/或在GitHub上釋放。
提供給開發人員或用戶?
一些主題框架是專門提供給不會編碼的用戶使用的,這些用戶不用寫任何代碼就可以廣泛地自定義主題框架,而另一些是給開發人員用的,會提供掛鉤和函數以便他們可以用來自定義和拓展自己的框架。還有的兩者都行,會有一個綜合用戶界面和一個API(應用程序界面)。
你的框架會被非開發人員使用并不意味著你要將它釋放給公眾——你也許有同事是網站設計師,你想賦予他們訪問的權限,或者是讓你的客戶使用你的框架來自定義他們的網站。
如果你的框架面對的是不會編碼的用戶的話,你需要考慮:
一個或更多的主題選項界面,以便你的用戶可以自行定義。
可以選擇使用主題定制器來代替主題選項界面,優點是用戶在定制主題的同時能直接地看到它們的變化,或者兩者都行。
小工具區域,允許用戶在網頁的不同地方添加他們自己的內容。
菜單,以便用戶可以瀏覽網站(包含菜單的區域也許不止一個,這個由你來決定)。
子主題支持,以便用戶能快速安裝并創建一個工作網站。
函數庫,包含你想有的所有功能,比如滑塊或燈箱特效。
必要的說明文件和相關幫助,以便用戶知道如何來使用你的所有成果(其中一些是非常有用的,但切記慢來,逐步完善)
如果你的目標受眾是一些專業開發人員,他們會結合自己的子主題和/或插件一同使用你的主題框架,那么你可能要考慮上述的一些內容,但是你也需要去考慮包含下面列表中的功能:
動作掛鉤(action hooks)使得開發人員能將自己的代碼插入到你的模板文件中,而不需要創建一個重復的模板文件。
過濾掛鉤(filter hooks)允許開發人員修改模板文件的輸出內容。
開發人員能在他們的子主題中使用自定義函數。
模板部分和包含文件,以減少代碼的重復。這樣,在使用框架時你會從中受益許多,如果理論上需要在子主題中創建模板文件的話,其他的開發人員也會發現這十分有用。
確保你的文件命名和結構的邏輯合理性,并要給這些文件添加相應的說明,這樣人們才能很容易地找到他們。
公開與否?
如果你計劃向公眾發布你的框架的話,那么就有一整套另外需要考慮的事項:
如果你要通過WordPress主題庫提交你的框架作為一個主題的話,你需要遵守主題審查指南。
由于用戶可能會在任意場景和網站類型中使用你的框架,你需要去測試你的框架是否能在各種環境中正常工作,也許你可以爭取其他的用戶和開發人員幫助你進行這方面的測試。
某些類型的文檔無論對開發人員還是用戶來說都是必不可少的,當然這取決于你的目標受眾。
您 還需要考慮如何將你的框架市場化:即使它是免費的,如果你希望更多的人去使用它,那么你就需要通過一個網站來宣傳它,其他的方式有社交媒體、搜索引擎優化 (SEO)、第三方主題商店、口口相傳、當地聚會、WordCamps大會(由 WordPress 用戶自發組織的非盈利性質大會)等。
你的主題框架應該包括哪些內容?
你的主題的功能有很大一部分將由你剛確認的用戶的需求來決定。在決定主題框架的受眾時,如果有可能,可以問問你的受眾的具體需求,然后列出你的主題將包含的一些功能特征。
這張列表會包括(但不僅限于)以下選擇:
模板文件(包括模板部分和包括文件)
函數
動作掛鉤(action hooks)和過濾掛鉤(filter hooks)
小工具區域
目錄
選項和設置界面
主題定制器支持
文件
子主題
對于這些,需要確認:
它的具體功能是什么
它會做什么
它的代碼會在哪里出現
除了這些由不同用戶群體決定的功能以外,你也許還想包含其他的一些功能,如:
你的框架會具有一個內置的布局嗎?這個布局是可配置的還是會通過子主題進行編碼?
這個功能在你的父主題中到底會有多少?一些框架具有極端最低樣式,而其他人(比如我自己)采用面向對象的CSS(OOCSS)會使得樣式制作在子主題中變得更加簡單。
你的框架是響應式的還是通過子主題進行編碼?如果你的父主題是響應式的,你需要確保在子主題這個OOCSS能派上用場的領域中,它不會被任何布局樣式所覆蓋。
你會為你的框架增加SEO(搜索引擎優化)功能,是由WordPress來提供,還是由用戶使用一個獨立的插件來添加呢?
如果有必要在你的框架內進行添加或者通過子主題進行添加,你會將諸如滑塊、畫廊、背景圖像等等包括進去嗎?
這張列表可能隨著時間的推移,隨著你自己和用戶的需求的變化而發生改變。從一開始就要確保你的框架很容易進行拓展,并且無論何時你都能添加新的功能。
小結
開發出你自己的主題框架可以說是一大創舉。從長遠來看,這將節省你很多的開發時間,但是這也要花費大量的工作。
花一些時間去了解使用主題框架的受眾,以及他們到底需要什么樣的功能,因為這無論對于自己還是其他用戶,都很有意義和價值,并且將來如果想再對框架進行擴展和修改就會容易得多。
新聞熱點
疑難解答