WordPress创建选项页面

来源:互联网 发布:suse linux安装grub 编辑:程序博客网 时间:2024/05/17 01:23

目录

 [隐藏] 
  • 1 前言
  • 2 打开页面
  • 3 表单标签
  • 4 随机数
  • 5 表单表格
  • 6 行为域
  • 7 page_options 域
  • 8 关闭标签
  • 9 全文
  • 10 相关条目

前言

在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>