之前我寫(xiě)了一個(gè)函數(shù)就搞定系列來(lái)介紹使用 WPJAM Basic 開(kāi)發(fā),一共有5篇,分別涉及設(shè)置選項(xiàng),文章選項(xiàng),后臺(tái)文章列表欄目, 分類(lèi)選項(xiàng),后臺(tái)分類(lèi)列表欄目這五個(gè)方面的快速開(kāi)發(fā)。
為了大家使用,我還還提供了 PDF 文檔下載,大概有20多頁(yè),當(dāng)作「WordPress果醬」公眾號(hào)的第一本電子書(shū)發(fā)布。
但是還是有些同學(xué)覺(jué)得難以上手,所以今天想了一下,就簡(jiǎn)單更新了一下 Sweet 主題,并且出了一個(gè)主題的選項(xiàng)開(kāi)發(fā)框架,并且不到50行代碼。
什么意思呢?一般來(lái)說(shuō)新人接觸 WordPress 開(kāi)發(fā),最早肯定是想自己做一個(gè) WordPress 主題,而做 WordPress 主題,在后臺(tái)做一個(gè)設(shè)置選項(xiàng)頁(yè)面,然后在主題中調(diào)用這些選項(xiàng)是最繁瑣。
現(xiàn)在網(wǎng)上有很多這方面適合二次開(kāi)發(fā)的選項(xiàng)框架(Option Framework),所以我把 Sweet 主題這部分代碼單獨(dú)整理成一個(gè)文件,然后只需要修改或者增加設(shè)置的選項(xiàng)字段,和其他的一些名字即可直接使用。
首先在自己開(kāi)發(fā)的主題中引入該文件,假設(shè)我們把它放到主題的 inc 目錄下,那么在主題的 functions.php 文件增加引入的代碼如下:
include TEMPLATEPATH.'/inc/option.php';
然后我們先看看效果,目前在后臺(tái)增加了一個(gè)「主題設(shè)置」的后臺(tái)主菜單:
「主題設(shè)置」這個(gè)名字和左邊的圖標(biāo),你可以修改成你主題的名字即可,修改的位置大概在30行,相關(guān)的代碼:
public static function get_menu_page(){ return [ 'menu_slug' => 'wpjam-theme', 'menu_title' => '主題設(shè)置', // 改成你主題的名字 'icon' => 'dashicons-hammer', // 改成自己喜歡的 icon 'capability' => 'manage_options', 'position' => '59', 'function' => 'option', 'option_name' => 'wpjam_theme', ];}
修改的位置,我都通過(guò)注釋做了標(biāo)記。
然后點(diǎn)擊進(jìn)去,可以看到設(shè)置頁(yè)面有兩個(gè)標(biāo)簽頁(yè):
第一個(gè)標(biāo)簽頁(yè)有兩個(gè)圖片上傳按鈕和一個(gè)多圖上傳器。
然后第二個(gè)標(biāo)簽頁(yè),我簡(jiǎn)單羅列了常用的幾種表單字段:
標(biāo)簽頁(yè)名字和這些字段如何修改也非常簡(jiǎn)單,相關(guān)的代碼在 get_sections 方法中:
public static function get_sections(){ return [ 'section1' => [ 'title' =>'標(biāo)簽頁(yè)1', 'fields' =>[ 'logo' => ['title'=>'網(wǎng)站 LOGO', 'type'=>'img', 'item_type'=>'url', ], 'favicon' => ['title'=>'Favicon', 'type'=>'img', 'item_type'=>'url', ], 'images' => ['title'=>'多圖上傳', 'type'=>'mu-img', 'item_type'=>'url', ], ] ], 'section2' => [ 'title' =>'標(biāo)簽頁(yè)2', 'fields' =>[ 'text' => ['title'=>'普通輸入框', 'type'=>'text'], 'number' => ['title'=>'數(shù)字輸入框', 'type'=>'number'], 'checkbox' => ['title'=>'選擇框', 'type'=>'checkbox', 'description'=>'你要開(kāi)啟該功能'], 'checkboxs' => ['title'=>'復(fù)選框', 'type'=>'checkbox', 'options'=>[1=>'選項(xiàng)1', 2=>'選項(xiàng)2', 3=>'選項(xiàng)3', ]], 'radio' => ['title'=>'單選框', 'type'=>'radio', 'options'=>[1=>'選項(xiàng)1', 2=>'選項(xiàng)2', 3=>'選項(xiàng)3', ]], 'textarea' => ['title'=>'文本框', 'type'=>'textarea'], ] ], ];}
可以說(shuō)完全是配置型代碼,可以先備份一下,然后自己嘗試去修改一下看看效果。
選項(xiàng)字段都設(shè)置好了,并且也保存了設(shè)置,最后怎么獲取呢?對(duì)的,這個(gè)框架還提供了獲取函數(shù):
wpjam_theme_get_setting($name, $default=null);
它有兩個(gè)參數(shù),$name 是選項(xiàng)名稱,$default 是默認(rèn)值,一眼就明白怎么用了吧?
有了這個(gè)選項(xiàng)框架,制作 WordPress 主題的選項(xiàng)頁(yè)面,和應(yīng)用這些選型,變得異常的簡(jiǎn)單,但多說(shuō)無(wú)用,最重要的是自己親手試一下。
最后說(shuō)一下,使用該框架制作的后臺(tái)設(shè)置頁(yè)面,都是 WordPress 默認(rèn)的 UI 樣式,感覺(jué)和 WordPress 后臺(tái)原生的頁(yè)面幾乎一樣,對(duì)于用戶的體驗(yàn)是最好的。
大家對(duì) WPJAM Basic 進(jìn)行二次開(kāi)發(fā)有什么想法和建議,也可以給我留言。
該文件我也一起打包到了「使用 WPJAM Basic 進(jìn)行快速開(kāi)發(fā)指南」電子書(shū)的下載包里面,文件名是 option.php。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。