如何将自定义 post 类型添加到由 wordpress 成员插件创建的新角色

How do i add an custom post type to a new role created by the Members plugin for wordpress

我在成员插件中创建了一个新角色,但是该特定角色只需要访问我创建的 2 个自定义 post 类型。这些 CPT 是使用 label 标记创建的。

问题是自定义 post 类型在我想要分配时没有显示在成员插件上。

我尝试使用 capabilities 标签,但是当我使用它时,它确实显示了,但是当我以分配有该角色的用户身份登录时,它没有在 wordpress 的导航栏中显示 CPT。

英语不是我的第一语言,所以如果格式有误,请原谅。

尝试在 functions.php 文件中为该新角色分配能力:

function add_role_caps() {

//roles to add capabilities
$roles = array('YOUR-NEW-ROLE','editor','administrator');

//set capabilities for selected roles
foreach($roles as $role) {

$myrole = get_role($role);

$myrole->add_cap( 'read' );
$myrole->add_cap( 'read_MYCPT');
$myrole->add_cap( 'read_private_MYCPTS' );
$myrole->add_cap( 'edit_MYCPT' );
$myrole->add_cap( 'edit_MYCPTS' );
$myrole->add_cap( 'edit_others_MYCPTS' );
$myrole->add_cap( 'edit_published_MYCPTS' );
$myrole->add_cap( 'publish_MYCPTS' );
$myrole->add_cap( 'delete_others_MYCPTS' );
$myrole->add_cap( 'delete_private_MYCPTS' );
$myrole->add_cap( 'delete_published_MYCPTS' );

  }
}
add_action('admin_init','add_role_caps',999);

只需将大写值替换为您自己的值即可。此答案假定 CPT 是使用自定义 post 类型的可选复数描述性名称创建的。