前面教程中,我們使用了一個類,然而這個類拿來學習還行,實戰的時候其實很不方便。
比如不能很方便的添加多個設置頁面,每增加一個設置選項都需要改動三個地方,每個設置選項都需要手動書寫表單代碼。
我想理想的類文件應該是這樣的:
類的代碼放在一個單獨的文件中,選項的配置在類的外面配置,只需要選擇類型、 id 、默認值即可,這樣寫好了類文件,在實際使用的時候只需要加載類文件,然後添加一個配置文件將類實例化即可。
下面介紹我們在接下來的教程中將為看官提供的類文件示例,選項配置文件的代碼應該是這樣的形式:
- $options[] = array(
- "name"=>"選項一", //選項標題
- "id"=>"option1", //選項 id
- "size"=>"60",
- "desc"=>"説明文字",
- "type"=>"text" //表單類型
- );
- $options[] = array(
- "name"=>"選項二",
- "id"=>"option2",
- "desc"=>"説明文字",
- "type"=>"textarea"
- );
即通過在配置文件中以數組形式添加選項的基本信息即可。上面代碼是配置詳細選項的示例,我們還需要一個配置設置頁面信息的代碼,如下:
- $pageinfo = array('full_name' => '阿樹工作室主題設置', 'optionname'=>'general', 'child'=>false, 'filename' => basename(__FILE__));
- //full_name 為設置頁面的 title 和菜單標題
- //optionname 為選項組的名稱
- //child-是否為頂級菜單
- //filname 為菜單 slug
我們在將類實例化的時候將上面的配置參數傳遞進去即可。這樣在使用的時候將會很方便很方便很方便很方便...
我們可以先思考一下我們的類的結構應該是這樣:
- <?php
- class ashu_option_pages{
- var $options;
- //... 類的屬性
- //通過參數實例化類
- __construct($options,$page_info){
- //通過 page_info 參數信息執行創建設置頁面的函數
- //執行加載 js 和 css 的函數
- }
- //創建設置頁面函數
- function add_pages(){
- //通過 optinos 執行頁面輸出函數
- }
- //加載 js css 函數
- function enqueue_script(){
- }
- //頁面輸出函數
- function display(){
- //分析 options,執行不同表單輸出代碼
- }
- //保存更新數據函數
- function save_option(){
- }
- //各種類型表單輸出函數
- function text(){}
- function textarea(){}
- function upload(){}
- //...... 等等
- }
- ?>
本節完,請繼續參考下一篇文章。