[WordPress]插件选项页编写
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 .'"
/>
';
}
标签:
订阅评论
登录
0 评论