【问题标题】:Wordpress plugin for admin (Administrators) and users (Editors, Authors , contributors etc )用于管理员(管理员)和用户(编辑、作者、贡献者等)的 Wordpress 插件
【发布时间】:2019-08-26 23:03:44
【问题描述】:

我正在开发一个 Wordpress 插件,该插件为不同的用户(管理员、编辑、作者、贡献者、订阅者)提供不同的权限。我已经能够使插件在管理员面板或页面/端完美运行,但是当我以编辑器身份登录时,我无法在他们页面的侧边栏上看到该插件。

我如何为不同的用户展示这个?

add_action('admin_menu', 'admin_menu');

function admin_menu(){
    add_menu_page('Plugin Title', 'Plugin menu name', 'manage_options', 'pl_plugins','plugin_function');
    add_users_page('Plugin Title', 'Plugin menu name', 'read', 'my-unique-identifier', 'my_user_plugin_function');
}

function plugin_function() {
}

function my_user_plugin_function(){
}

我希望插件能够在某种类型的用户登录时获取某个页面。

【问题讨论】:

  • 编辑角色没有权限manage_options

标签: javascript php wordpress


【解决方案1】:

您的代码按预期工作。我在 localhost 上测试,我能够以管理员身份查看该行中的菜单。

add_menu_page('Plugin Title', 'Plugin menu name', 'manage_options', 'pl_plugins','plugin_function');

并将这一行作为编辑器(作为配置文件菜单下的子菜单): add_users_page('Plugin Title', 'Plugin menu name', 'read', 'my-unique-identifier', 'my_user_plugin_function');

这两个函数中的第三个参数是用户访问菜单所需的权限级别,您可以在这里更改为任何一个Roles

【讨论】:

    【解决方案2】:

    您可以按当前用户角色进行检查。

    $current_user = wp_get_current_user();
    
        // Your CODE with user capability check
        if ( current_user_can('user_role') ) { 
            // Your CODE
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-04
      • 2011-09-13
      • 2020-03-20
      • 2020-02-22
      • 1970-01-01
      • 2020-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多