管理员没有足够的权限访问插件的页面

时间:2014-11-16 作者:inno.vlad

我无法访问管理面板中的插件页面。我找到了一些解决这个问题的建议,但我在mySQL中找不到任何解决方案,似乎一切都正常。

有人有这样的想法吗?

You do not have sufficient permissions to access this page. 

Array
(
[Pages No Access] => Array
    (
        [edit-tags.php?taxonomy=link_category] => 1
    )

[User Info] => WP_User Object
    (
        [data] => stdClass Object
            (
                [ID] => 1
                [user_login] => demo14
                [user_pass] => $P$Bu2vr91smpBRQHOFSxRAqZ3U5j06dA.
                [user_nicename] => demo14
                [user_email] => EMAILHERE
                [user_url] => 
                [user_registered] => 2014-11-15 23:16:37
                [user_activation_key] => 
                [user_status] => 0
                [display_name] => demo14
            )

        [ID] => 1
        [caps] => Array
            (
                [administrator] => 1
            )

        [cap_key] => wp_11capabilities
        [roles] => Array
            (
                [0] => administrator
            )

        [allcaps] => Array
            (
                [switch_themes] => 1
                [edit_themes] => 1
                [activate_plugins] => 1
                [edit_plugins] => 1
                [edit_users] => 1
                [edit_files] => 1
                [manage_options] => 1
                [moderate_comments] => 1
                [manage_categories] => 1
                [manage_links] => 1
                [upload_files] => 1
                [import] => 1
                [unfiltered_html] => 1
                [edit_posts] => 1
                [edit_others_posts] => 1
                [edit_published_posts] => 1
                [publish_posts] => 1
                [edit_pages] => 1
                [read] => 1
                [level_10] => 1
                [level_9] => 1
                [level_8] => 1
                [level_7] => 1
                [level_6] => 1
                [level_5] => 1
                [level_4] => 1
                [level_3] => 1
                [level_2] => 1
                [level_1] => 1
                [level_0] => 1
                [edit_others_pages] => 1
                [edit_published_pages] => 1
                [publish_pages] => 1
                [delete_pages] => 1
                [delete_others_pages] => 1
                [delete_published_pages] => 1
                [delete_posts] => 1
                [delete_others_posts] => 1
                [delete_published_posts] => 1
                [delete_private_posts] => 1
                [edit_private_posts] => 1
                [read_private_posts] => 1
                [delete_private_pages] => 1
                [edit_private_pages] => 1
                [read_private_pages] => 1
                [delete_users] => 1
                [create_users] => 1
                [unfiltered_upload] => 1
                [edit_dashboard] => 1
                [update_plugins] => 1
                [delete_plugins] => 1
                [install_plugins] => 1
                [update_themes] => 1
                [install_themes] => 1
                [update_core] => 1
                [list_users] => 1
                [remove_users] => 1
                [add_users] => 1
                [promote_users] => 1
                [edit_theme_options] => 1
                [delete_themes] => 1
                [export] => 1
                [administrator] => 1
            )

        [filter] => 
    )

[Roles] => Array
    (
        [administrator] => Administrator
        [editor] => Editor
        [author] => Author
        [contributor] => Contributor
        [subscriber] => Subscriber
    )
()

我想问题可能出在这里:[角色]=>数组([0]=>管理员),但我不知道它是从哪里来的。

UPD:

在我更改了管理功能后,我有其他反馈:

You do not have sufficient permissions to access this page.

Array
(
[Pages No Access] => Array
    (
        [index.php] => 1
        [separator1] => 1
        [edit.php] => 1
        [upload.php] => 1
        [link-manager.php] => 1
        [edit.php?post_type=page] => 1
        [edit-comments.php] => 1
        [separator2] => 1
        [themes.php] => 1
        [plugins.php] => 1
        [profile.php] => 1
        [tools.php] => 1
        [options-general.php] => 1
        [separator-last] => 1
    )

[User Info] => WP_User Object
    (
        [data] => stdClass Object
            (
                [ID] => 1
                [user_login] => demo14
                [user_pass] => $P$BZw7yr3PW6qo/bhXq8E9MvPdzqeZjb1
                [user_nicename] => demo14
                [user_email] => EMAIL
                [user_url] => 
                [user_registered] => 2014-11-16 13:18:41
                [user_activation_key] => 
                [user_status] => 1
                [display_name] => demo14
            )

        [ID] => 1
        [caps] => Array
            (
            )

        [cap_key] => wp21_capabilities
        [roles] => Array
            (
            )

        [allcaps] => Array
            (
            )

        [filter] => 
    )

[Roles] => Array
    (
        [administrator] => Administrator
        [editor] => Editor
        [author] => Author
        [contributor] => Contributor
        [subscriber] => Subscriber
    )

   )

1 个回复
最合适的回答,由SO网友:Josh J 整理而成

根据以下文件:add_menu_page:

注意:如果您遇到“您没有足够的权限访问此页面”错误,则说明您挂接得太早。您应该使用的挂钩是admin\\u菜单。

这意味着您需要将菜单创建包装为:

add_action( \'admin_menu\', function() {
    add_menu_page(
        // page title
        \'Page Title\',
        // menu title
        \'My Menu Title,
        // capability
        \'some_capability,
        // menu slug
        \'my-page\',
        // callback function
        \'do_my_page_content\'
    );
});

结束