【发布时间】:2019-07-03 00:33:24
【问题描述】:
我创建了一个插件,并正在为管理菜单上的页面编写代码。后端菜单中的链接出现并且工作正常(左侧工具栏上的链接)。但是,当我尝试点击它时,会加载 url,但我在页面上收到消息“对不起,您无权访问此页面。”
我的初始代码如下:
add_action('admin_init', 'settings_menu_page');
function settings_menu_page() {
add_menu_page(
__('Settings Page', 'wpplugin'),
__('Custom Settings', 'wpplugin'),
'manage_options',
'wpplugin',
'settings_page_callback',
'',
85
);
}
function settings_page_callback() {
esc_html_e( 'Settings page text', 'wpplugin' );
}
然后我决定将操作挂钩更改为“admin_menu”,因此代码如下所示:
add_action('admin_menu', 'settings_menu_page');
function settings_menu_page() {
add_menu_page(
__('Settings Page', 'wpplugin'),
__('Custom Settings', 'wpplugin'),
'manage_options',
'wpplugin',
'settings_page_callback',
'',
85
);
}
function settings_page_callback() {
esc_html_e( 'Settings page text', 'wpplugin' );
}
通过这段代码,我可以看到页面。唯一改变的是钩子。
我已经参考了 admin_menu 和 admin_init 的文档,但对于它们之间的区别是什么导致它们允许一个具有权限但不允许另一个具有权限,我有点茫然。
注意:我是这两个具有管理员权限的 WordPress 用户。
有人知道这里有什么区别吗?
【问题讨论】:
标签: wordpress