1. 程式人生 > >WordPress建立選項頁面

WordPress建立選項頁面

目錄

 [隱藏

前言

在WordPress中建立自定義選項面板非常容易。

首先,請檢視新增管理選單以瞭解如何建立選單條目和新頁面。

只要按照步驟進行操作,WordPress就會為你處理好選項建立,升級,儲存和重定向等操作。它還會審查許可權並進行其它幕後操作。

開啟頁面

如果要和現有WordPress選項頁面的外觀相匹配,請開啟:

< div class="wrap">
< h2>Your Plugin Name</h2>

表單標籤

然後,使用以下程式碼建立一個

HTML格式:

<form method="post" action="options.php">

隨機數

在以上表單標籤開頭部分,插入以下PHP程式碼:

<?php wp_nonce_field('update-options'); ?>

這將插入兩個隱藏的域,它會自動幫助使用者更新選項,並讓使用者轉向正確的管理頁面(因為表單行為位於另一個頁面)。

表單表格

許多選項頁都使用帶有"form-table"類的表格來顯示選項。為了和這些頁面的外觀相匹配,請建立新表格:

< table class="form-table">

建立和你新建選項(儲存在選項表格中)名稱相同的域,如:

< tr valign="top">
< th scope="row">New Option Name</th>
< td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td>
</tr>

仔細觀察<input>內的元素 :

<input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" />

使用get_option()函式作為域的值,儲存選項時系統會自動更新函式。

所有選項新增完成後,關閉表格:

</table>

行為域

接下來,建立一個包括update值的名為action的hidden(隱藏)域,

<input type="hidden" name="action" value="update" />

page_options 域

最後,建立名為page_options的隱藏域,並用逗號隔開頁面中要儲存的所有選項。

<input type="hidden" name="page_options" value="new_option_name,some_other_option,option_etc" />

關閉標籤

關閉其它選項後的表單標籤,如果願意,也可再包含一個"Update Options"按鈕,雖然WordPress預設檔案已包括一個。

< p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>
</div>

另外,the _e()函式會處理文字的翻譯。更多資訊請檢視Localizing WordPress

全文

< div class="wrap">
< h2>Your Plugin Name</h2>
<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>
< table class="form-table">
 < tr valign="top">
  < th scope="row">New Option Name</th>
  < td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td>
</tr>
 < tr valign="top"> 
  < th scope="row">Some Other Option</th>
  < td><input type="text" name="some_other_option" value="<?php echo get_option('some_other_option'); ?>" /></td>
</tr>
< tr valign="top">
 < th scope="row">Options, Etc.</th>
 < td><input type="text" name="option_etc" value="<?php echo get_option('option_etc'); ?>" /></td>
</tr>
</table>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="new_option_name,some_other_option,option_etc" />
< p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>
</div>