Php 如何向wordpress的Members插件创建的新角色添加自定义帖子类型

Php 如何向wordpress的Members插件创建的新角色添加自定义帖子类型,php,wordpress,plugins,custom-post-type,Php,Wordpress,Plugins,Custom Post Type,我已经在Members插件中创建了一个新角色,但是该特定角色只需要访问我创建的2个自定义帖子类型。这些CPT是使用标签标签创建的 问题是,当我想要分配自定义帖子类型时,它不会显示在members插件上 我尝试使用capabilities标签,但当我使用它时,它确实会显示出来,但当我作为指定角色的用户登录时,它不会在wordpress的导航栏中显示CPT 英语不是我的第一语言,如果格式错误,请原谅。尝试在functions.php文件中为新角色分配功能: function add_role_cap

我已经在Members插件中创建了一个新角色,但是该特定角色只需要访问我创建的2个自定义帖子类型。这些CPT是使用标签标签创建的

问题是,当我想要分配自定义帖子类型时,它不会显示在members插件上

我尝试使用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);

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

您尝试过我的答案吗?如果有效,你能接受这个答案吗?我可以利用声誉积分,这会激励我回答更多的问题。。。非常感谢。