Wordpress插件自定义选项页面不可访问
我正在创建我的第一个WP插件类,似乎遇到了选项页面生成的问题。 我有一个admin_init方法来创建一个新页面(目前在顶级菜单中),它工作正常,但单击菜单中的链接总是会将我发送到“您不允许访问此页面”页面 奇怪的是,在调试这个问题时,我看到当插件被激活时,对我的页面的引用被添加到$\u registered\u pages数组中。但在单击链接后进行调试时,$\u registered\u pages数组不包含对我的插件的引用。另外,当我返回站点时,问题发生后,菜单选项消失了 这是我的admin_init方法,它挂接在主插件页面中:Wordpress插件自定义选项页面不可访问,wordpress,Wordpress,我正在创建我的第一个WP插件类,似乎遇到了选项页面生成的问题。 我有一个admin_init方法来创建一个新页面(目前在顶级菜单中),它工作正常,但单击菜单中的链接总是会将我发送到“您不允许访问此页面”页面 奇怪的是,在调试这个问题时,我看到当插件被激活时,对我的页面的引用被添加到$\u registered\u pages数组中。但在单击链接后进行调试时,$\u registered\u pages数组不包含对我的插件的引用。另外,当我返回站点时,问题发生后,菜单选项消失了 这是我的admin
public static function admin_menu() {
$hook = add_menu_page(
self::$title,
self::$menuTitle,
'manage_options',
self::$slug,
array('DP_Quora_Profile_Scraper', 'load_options_page')
);
add_action('load-' . $hook, array('DP_Quora_Profile_Scraper', 'save_options_page'));
}
我正在调试并看到缺少的page ref函数是wp admin/includes/plugin.php中的user\u can\u access\u admin\u page()
我没有使用设置API,因为我真的不喜欢它,而且我的插件需要它自己的DB表,所以我将我的所有登录都封装在我的类中
关于我的菜单页面为何/如何消失的任何想法
Wordpress版本是5.3。新开发站点,没有其他插件,默认主题
[编辑]
显示调试会话的附加屏幕截图:您可以看到添加了$\u registered\u pages条目。
感谢所有人的帮助/意见。
保罗好的,发现了这个问题……非常烦人 我的类需要初始化,同时在每个admin_init和admin_菜单上注册钩子
这是一堆毫无意义的处理 必须在每个页面上调用
add\u menu\u page
。为什么要测试$初始化
?尝试过,但没有效果。菜单选项最初出现,但单击它会显示“禁止访问”页面,并且$\u registered\u pages条目再次丢失…奇怪…返回调试器。我发现了主要问题,该页面必须添加到操作管理菜单上。笔记上写着:是的,我在你第一次发表评论后就改变了……我会更新我的post@Kaperto向右微移的Thx:)