WordPress Customize 佈景自訂頁 (wp 3.4新功能)
| 2012/04/05 | 留言
WordPress 即將推出的 3.4 版,最大的特色就是為佈景設定加入了自訂(Customize)功能,本文則是以 3.4 beta 版來試用這個功能。為了增加這個全新的佈景自訂功能,WP核心建立了一個新的 Class 叫 WP_Customize,未來將可預期會有更多相關應用的API出現。
又一個佈景設定頁面?
目前大多數較為專業的WP佈景主題,通常會自帶所屬的後台設定面板,那為何WP核心還要提供一個佈景自訂的功能?從佈景自訂這個功能的設定原理來看,WP是偵測一些預設的佈景程式碼設定(如register_nav_menu()、add_theme_support() )來自動產生相對應的自訂設定頁。也就是說,善用WP核心提供的API來製作佈景前、後台的頁面,將會自動讓設定出現在佈景自訂頁上,這樣也許不一定便於佈景開發者,但對使用者的使用習慣則是有一定的好處。
WP Customize 自訂頁初體驗
安裝WP 3.4後,從後台的「外觀」>「佈頁主題」進入,就會發現每個佈景的下方連結多了一個「自訂」(暫譯,原文為Customize),點擊後就會進入佈景自訂頁面,左側是設定區,右側則是佈景預覽區。
我們可先從佈景自訂頁左邊的設定區開始看起,這裡大概分為六個小區塊,由上而下分別是(以下中文為暫譯):
佈景資訊區塊
包含名稱、縮圖及作者,展開後還有更詳盡的描述,這跟佈景主題頁的佈景資訊來源是相同的,這個項目是所有佈景都會出現的預設控制項。
網站標題及標語(Site Title & Tagline)
這裡有網站名稱及標語的設定,等同於後台的「設定」>「一般」裡面的頭兩項設定,此項目也是預設控制項。
頁首(Header)
可以設定是否顯示頁首文字、設定頁首文字顏色、頁首圖片的變更/上傳/移除等。要顯示這項設定,該佈景必須支援custom-header,即是要利用 add_theme_support( ‘custom-header’, array(…略…) ); 這個語法來加入支援。另外也可再搭配 register_default_headers 放入一些預設的設定項目供使用者選擇。
背景(Background)
背景相關設定,如背景色、背景圖片的上傳。要顯示這項設定,該佈景必須支援 custom-background,即是要利用 add_theme_support( ‘custom-background’ ); 這個語法來加入支援。
導覽選單(Navigation)
這裡的設定是從「外觀」>「選單」借過來的,可以調整選單的設定。要讓此項設定顯示,必須佈景有用到 register_nav_menu()。
靜態前頁(Static Front Page)
這裡的設定是從「設定」>「閱讀」的首頁顯示部份借過來的,可以設定首頁及文章頁面要使用哪個頁面。
能不能出現其他自訂的設定?
目前這六個區塊除了「佈景資訊」、「網站標題及標語」及「靜態前頁」三項為一定會顯示的預設設定外 (即使佈景只有style.css及空白的index.php也會顯示),其餘的設定項目除了導覽選單要使用 register_nav_menu() 來生成外,其他兩項則是利用 add_theme_support() 來達成,而目前 add_theme_support() 的其他參數設定 (如: post-thumbnails, automatic-feed-links 及 post-formats) 均無支援 WP Customize。
但我想還是可以客製化這個自訂頁面的,只是還沒有時間去尋找正確的方式 (也許是Hook)。
最後想要小小抱怨一下使用性,這個頁面應該是使用AJAX的載入方式呈現,但因為這頁長得太像一般的後台頁面,使用者若想回上一層的佈景主題頁,按了瀏覽器的上一頁,就不會是預期的佈景主題頁。
本文作者是Audi Lu