WordPress教程

WordPress插件开发教程二:创建插件菜单和设置页面

阿里云

上一篇的内容中我们说了如何创建一个插件以及删除和停用,这篇我们来说一下如何创建插件菜单和增加插件设置页面。先说一下如何创建插件菜单,这里说的是在后台的设置的菜单中增加一个属于我们插件的页面。

添加到设置->常规中

如果我们的插件设置很简单,只需一个或两个参数的时候,可以考虑直接添加到设置->常规的页面中,这样就无须再新增页面了

也想出现在这里?联系我们
创客主机
  1.     /**
  2.     * WordPress 添加额外选项字段到常规设置页面
  3.     */
  4.     $new_general_setting = new new_general_setting();
  5.     class new_general_setting {
  6.     function new_general_setting( ) {
  7.     add_filter( 'admin_init' , array( &$this , 'register_fields' ) );
  8.     }
  9.     function register_fields() {
  10.     register_setting( 'general', 'PushBear_SendKey', 'esc_attr' );
  11.     add_settings_field('PushBear_SendKey', '<label>'.__('PushBear SendKey' ).'</label>' , array(&$this, 'fields_html') , 'general' );
  12.     }
  13.     function fields_html() {
  14.     $value = get_option('PushBear_SendKey');
  15.     echo '<input type="text" id="PushBear_SendKey" name="PushBear_SendKey" value="' . $value . '" />';
  16.     }
  17.     }

这样我们就可以在常规页面中看到我们新增的 PushBear SendKey,获取配置可以使用:

  1.     get_option('PushBear_SendKey');

这还不算完,如果我们的设置参数很多呢?这样明显有点麻烦,所以我们直接新增一个我们插件专属设置页面。

新增插件设置页面

这里我们使用 add_submenu_page()函数给 options-general.php 添加一个子菜单,也就是我们自己插件的设置页面。下面看一下这个 add_submenu_page()函数原型

  1.    add_submenu_page($parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function);

各个参数的含义如下:

  • $parent_slug 父级菜单项的别名
  • $page_title 页面的 title 信息
  • $menu_title 菜单标题
  • $capability 权限
  • $menu_slug 别名(url 中 page 的参数)
  • $function 执行的函数

知道了参数是什么意思,我们就可以来增加插件页面了。

  1.     add_action('admin_menu', 'pwtw_submit_menu');
  2.     function pwtw_submit_menu()
  3.     {
  4.     add_submenu_page('options-general.php', '微信订阅设置', 'Push To WeChat', 'manage_options', 'Push_To_WeChat', 'pwtw_submit_options', '');
  5.     }

增加以后访问/wp-admin/options-general.php?page=Push_To_WeChat,会发现是个空白页面。接着看设置菜单中会多出一个 Push To WeChat,这个也可以进入我们的插件页面。就这样,下一篇介绍如何完善我们的插件页面。

WordPress 插件开发教程二:创建插件菜单和设置页面

已有 670 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!