所以,我刚刚创建了一个新插件,并添加了功能、新角色、将它们链接在一起等等。。等但由于某些原因,我无法访问自己的后端。
错误消息是通用消息
You do not have sufficient permissions to access this page.
在后端创建菜单的代码
add_menu_page(
\'FOO Profile\', // Link Text
\'Manage your FOO profile\', // Title
\'foo-profile\', // Capability (rights)
\'foo-profile\', // Slug
[$this, \'renderFooProfile\'] // Callback for Link
);
我可以在管理区域内查看此链接。除此之外,我还进行了以下检查:
var_dump(current_user_can(\'foo-profile\')) => int(1)
现在,单击链接后,我会收到上面提到的错误消息。
渲染是一个简单的hello-world回声,因此我怀疑是否会在那里发现错误:S
public function renderFooProfile() { echo "Hello World"; }
任何关于我应该去哪里看的建议都将不胜感激。
全班要点>https://gist.github.com/anonymous/b4f69e203630f447677b
最合适的回答,由SO网友:TheDeadMedic 整理而成
您正在使用admin_init
挂钩以添加菜单-使用admin_menu
相反
init钩子运行得足够早wp-admin/menu.php
将其添加到侧栏菜单,但不用于加载插件页面wp-admin/admin.php
换句话说,当您实际尝试加载插件页面时,您的菜单代码没有启动,WordPress失败,出现了一个相当普遍的错误。