function qnnp_sanitize($str){ return $str; } #初始化插件 add_action('admin_init', 'my_plugin_init'); function my_plugin_init(){ $my_option_1_args = array( 'type' => 'string', #此选项值得类型 'description' => '', #描述 'sanitize_callback' => 'qnnp_sanitize', #过滤函数 'show_in_rest' => false, #是否可以通过 REST API 读取 'default' => 'default value' #此选项的默认值 ); register_setting( 'my_plugin_option', 'my_plugin_option_1', $my_option_1_args ); } #添加后台菜单 add_action('admin_menu', 'my_menu'); function my_menu(){ #添加主菜单页面,和评论等菜单平级 add_menu_page( 'page_title', #页面标题 '我的插件', #菜单显示名称 'manage_options', #权限 'my_plugin_page_1', #Slug(admin.php?page={Slug}),或者'my_plugin/page.php'下一项设为空值 'my_plugin_page_1_callback', #此菜单页面函数名('my_plugin/page.php'的内容和此函数内容一样) 'icon_url', #菜单图标 '25' #菜单位置 ); #添加子菜单 add_submenu_page( 'my_plugin_page_1', #父级菜单的Slug或者路径('my_plugin/page.php') 'page_title', #子菜单页面标题 'menu_title', #子菜单显示名称 'manage_options', #权限 'my_plugin_page_2', #Slug(admin.php?page={Slug}) 'function' #此菜单页面函数名 ); /* #直接向“设置”菜单下添加子菜单和页面 add_options_page( 'page_title', #菜单页面标题 'menu_title', #菜单显示名称 'manage_options', #权限 'my_plugin_page_1', #Slug(admin.php?page={Slug}) 'function' #菜单页面内容 ); */ /* #添加一个选项段落 add_settings_section( 'my_section_1', #选项段落ID 'Title', #选项段落名称 'callback', #段落 callback 用于显示内容 'my_plugin_page_1' #Slug(admin.php?page={Slug}) ); */ /* #为选项段落添加一个选项行 add_settings_field( 'my_field_1', #选项ID '选项 1', #选项标题 'my_field_1_callback', #选项 callback 用于显示内容 'my_plugin_page_1', #Slug(admin.php?page={Slug}) 'my_section_1', #添加到的选项段落ID array( 'label_for' => 'string', #Label 标签的 For 属性 'class' => 'string' #此选项包裹 Class ) ); */ } function my_field_1_callback(){ $setting = get_option('my_plugin_option_1'); $setting = esc_attr($setting); echo ' <input type="text" name="my_plugin_option_1" value="'. $setting .'" /> '; }