【问题标题】:Make wordpress admin menu item only for admin users仅为管理员用户制作 wordpress 管理菜单项
【发布时间】:2016-05-25 19:24:40
【问题描述】:

我正在为我的插件在 WordPress 管理菜单下添加一个子菜单

add_submenu_page(
        'demo',       // parent slug
        'Demo Settings',    // page title
        'Demo Settings',             // menu title
        'manage_options',           // capability
        'demo_settings',      // slug
        'show_demo_settings' // callback
    ); 

这是添加一个可供所有用户使用的菜单项,所有级别的用户,我想让它只对管理员可见,搜索了很多但在他们的文档中没有找到任何解决方案。

有人解决过这类问题吗?

【问题讨论】:

  • 我不明白为什么人们只是投反对票/投赞成票,我假设他们在不知道该回答什么时会这样做,请解释一下,以便其他人可以从中学习,投反对票!

标签: php html wordpress


【解决方案1】:

角色是诀窍, 为要显示菜单项的用户级别设置适当的功能

https://codex.wordpress.org/Roles_and_Capabilities

因此需要向编辑者显示的菜单将具有“edit_pages”功能

add_submenu_page(
        'demo',       // parent slug
        'Demo Settings',    // page title
        'Demo Settings',             // menu title
        'edit_pages',           // capability
        'demo_settings',      // slug
        'show_demo_settings' // callback
    );

只有管理员所需的菜单将具有此功能“manage_options”

add_submenu_page(
        'demo',       // parent slug
        'Demo Settings',    // page title
        'Demo Settings',             // menu title
        'manage_options',           // capability
        'demo_settings',      // slug
        'show_demo_settings' // callback
    ); 

【讨论】:

    【解决方案2】:

    https://wordpress.org/plugins/nav-menu-roles/

    此插件可让您根据用户角色隐藏自定义菜单项。因此,如果您在菜单中有一个链接,您只想显示给已登录用户、某些类型的用户,甚至只显示给已注销的用户,那么此插件适合您。

    【讨论】:

    • 我使用了这个插件@randy,我试图用代码来做,所以我的插件可以在没有这个插件的情况下工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多