【问题标题】:Wordpress Plugin | New Menu Page visible for new user role but not for WP-AdministratorWordPress 插件 |新用户角色可见的新菜单页面,但 WP-Administrator 不可见
【发布时间】:2021-10-22 03:02:26
【问题描述】:

我正在创建一个新的wordpress 插件。 对于这个插件,我创建了一个名为mypluginadmin 的新角色。 该插件有一个“新的管理菜单”页面,该页面是用函数创建的

add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null )

我的问题是,默认情况下,一个用户只能分配一个role。 当我有一个使用这个新role 的用户时,他可以看到新页面。 具有默认administrator 角色的用户看不到新页面,但他应该看到。

我该怎么做才能使具有administrator 角色的用户也可以看到这个新页面?

函数add_menu_page 的参数$capability 不是我可以传输多个值的数组。

谁能帮帮我?

非常感谢

【问题讨论】:

  • 我知道有些插件可以为用户分配多个用户角色,但这不是我想要的

标签: wordpress plugins dashboard


【解决方案1】:

您必须为administratormypluginadmin 角色定义(添加)相同的capability 并在add_menu_page 函数中将其称为$capability 的值。

例如)

首先将具有自定义名称的相同功能(例如“access_custom_admin_menu”)添加到两个用户角色

// get the the role object
$admin_role = get_role( 'administrator' );
// grant the access_admin_custom_menu capability
$admin_role->add_cap( 'access_custom_admin_menu', true );

// get the the role object
$mypluginadmin_role = get_role( 'mypluginadmin' );
// grant the access_admin_custom_menu capability
$mypluginadmin_role ->add_cap( 'access_custom_admin_menu', true );

然后在函数中使用它

add_menu_page( 'your_page_title', 'your_menu_title', 'access_custom_admin_menu', 'your_menu_slug', .... 

其实目标是使用只有这两个角色有的capability,其他用户角色没有这个capability,如果你目前有capability这个功能,你就不需要做上面的,然后使用它

【讨论】:

  • 谢谢! - 我会尝试在这里给你简短的反馈!非常感谢您快速详细的反馈佳丽! :)
  • @Pherox65 希望能帮助你找到解决办法
  • 嘿@jiali - 非常感谢您的帮助!您完美的详细答案解决了我的问题!现在一切正常,我可以看到具有两个用户角色的新页面!再次感谢您的快速支持:)!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
相关资源
最近更新 更多