WordPress插件開發(fā)筆記(五): 分頁顯示設置頁

有時, 為了方便, 我們需要分頁顯示設置頁面. 其實一個好的插件往往會包含一個用戶歡迎頁面, 告訴用戶該插件是干啥的, 以及在每次更新時, 顯示注意事項. 此外, 可能你還想寫點插件開發(fā)的故(捐)事(贈).

我們下面就以添加一個歡迎頁面來說明如何分頁顯示設置頁. 首先, 我們需要一個新的變量來判斷我們處在哪一個分頁上, 然后根據(jù)具體的tab來呈現(xiàn)不同的setting_page. 為此, 在includes/admin_settings.phpl2h_admin_setting_class中添加一個變量$active_tab:

if( !class_exists( 'l2h_admin_setting_class' ) )
{
  class l2h_admin_setting_class
  {
    /**
     * Holds the values to be used in the fields callbacks
     */
    private $options, $active_tab;
// More code here ...

然后, 我們新建一個歡迎頁的settings_section:

 public function l2h_admin_init(){
      /**
       * Welcome Screen
       */
      // We must declare the welcome_page if you want Submit on welcome page
      //register_setting( 'l2h_welcome_page', 'l2h_options' );
      add_settings_section(
        'l2h_pluginPage_section_welcome',
        __( 'Welcome &amp; Support<hr >', 'val2h' ),
        array( $this, 'l2h_settings_wellcome_callback' ),
        'l2h_welcome_page'
      );
/*      add_settings_field(
        'upgrade',
        __( 'Shall we <i>upgrade</i> now?', 'val2h' ),
        array( $this, 'l2h_checkbox_render' ),
        'l2h_welcome_page',
        'l2h_pluginPage_section_welcome',
        array(
          'field' => 'upgrade'
        )
      );
 */
// More code here ...
    /**
     * The callbacks
     */

    public function l2h_settings_wellcome_callback(  ) {
      echo <<<EOF
This is the Welcome page.
EOF;
    }
// More code here...

在上述例子中, 我們還演示了如何在welcome頁面提交數(shù)據(jù), 此時你首先需要注釋掉register_setting那一行, 然后通過add_settings_field 添加新的設置項到welcome頁面.

至此, 其實就是新建了一個變量來判斷頁面, 添加了一個welcome頁面. 而具體的頁面呈現(xiàn)代碼是includes/admin_page.php:

<div class='wrap'>
  <h2>LaTeX2HTML Setting Page</h2>
  <?php
   $this->active_tab =  isset( $_GET['tab'] )  ?  $_GET['tab'] : 'welcome';
  ?>
  <h2 class="nav-tab-wrapper">
    <a href="?page=latex2html&tab=welcome" class="nav-tab <?php echo $this->active_tab == 'welcome' ? 'nav-tab-active' : ''; ?>">Welcome &amp; Support</a>
    <a href="?page=latex2html&tab=settings" class="nav-tab <?php echo $this->active_tab == 'settings' ? 'nav-tab-active' : ''; ?>">Settings</a><br />
  </h2>
  <form action='options.php' method='post'>
  <?php
   if( $this->active_tab == 'welcome' ){
     // This prints out all hidden setting fields
     @settings_fields( 'l2h_welcome_page' );
     @do_settings_sections( 'l2h_welcome_page' );
   }else{
     @settings_fields( 'l2h_setting_page' );
     @do_settings_sections( 'l2h_setting_page' );
     @submit_button();
   }
    ?>
  </form>
</div>

意思非常明了, 首先用h2添加兩個tab鏈接, 鏈接里用&tab=welcom或者&tab=setting來標記當前頁面. 然后, 我們通過$_GET取得該標簽, 最后通過if判斷標簽呈現(xiàn)不同的頁面. 非常簡單吧, 哈哈!

附注: 本節(jié)主要參考The WordPress Settings API, Part 5: Tabbed Navigation For Settings.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末世舰,一起剝皮案震驚了整個濱河市绍赛,隨后出現(xiàn)的幾起案子惶桐,更是在濱河造成了極大的恐慌笛坦,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡咒唆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門释液,熙熙樓的掌柜王于貴愁眉苦臉地迎上來全释,“玉大人,你說我怎么就攤上這事误债〗” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵寝蹈,是天一觀的道長李命。 經(jīng)常有香客問我,道長箫老,這世上最難降的妖魔是什么封字? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮耍鬓,結(jié)果婚禮上阔籽,老公的妹妹穿的比我還像新娘。我一直安慰自己牲蜀,他們只是感情好笆制,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涣达,像睡著了一般在辆。 火紅的嫁衣襯著肌膚如雪证薇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天匆篓,我揣著相機與錄音浑度,去河邊找鬼。 笑死鸦概,一個胖子當著我的面吹牛俺泣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播完残,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼横漏!你這毒婦竟也來了谨设?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤缎浇,失蹤者是張志新(化名)和其女友劉穎扎拣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體素跺,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡二蓝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了指厌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刊愚。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖踩验,靈堂內(nèi)的尸體忽然破棺而出鸥诽,到底是詐尸還是另有隱情,我是刑警寧澤箕憾,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布牡借,位于F島的核電站,受9級特大地震影響袭异,放射性物質(zhì)發(fā)生泄漏钠龙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一御铃、第九天 我趴在偏房一處隱蔽的房頂上張望碴里。 院中可真熱鬧,春花似錦畅买、人聲如沸并闲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帝火。三九已至溜徙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犀填,已是汗流浹背蠢壹。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留九巡,地道東北人图贸。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像冕广,于是被迫代替她去往敵國和親疏日。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 1撒汉、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,988評論 3 119
  • Hello,l' m Su Zihan. I am from Heibei Province Althou...
    旅二29宿子涵閱讀 227評論 2 0
  • 當了媽媽后沟优,時常有一種焦慮感〔欠總是想在有限的資源內(nèi)挠阁,做到完美。但是常常顧了工作溯饵,顧不到家庭侵俗。顧到家庭,又顧不了工作...
    Crystal_雙城記閱讀 166評論 1 2
  • 美滋滋的打開電腦裝Android Studio丰刊,裝了固態(tài)盤就是快隘谣,就是下載各種資源需要等一丟丟,書上講的感覺好像很...
    小菊花麻麻顆糖閱讀 366評論 0 2