我认为插件没有添加您在中使用的功能add_cap
注册帖子类型时。
您可以通过向主题添加代码来修改注册帖子类型functions.php
文件你可以这样做。
/**
* Overwrite args of custom post type registered by plugin
*/
add_filter( \'register_post_type_args\', \'change_capabilities_of_course_document\' , 10, 2 );
function change_capabilities_of_course_document( $args, $post_type ){
// Do not filter any other post type
if ( \'course_document\' !== $post_type ) {
// Give other post_types their original arguments
return $args;
}
// Change the capabilities of the "course_document" post_type
$args[\'capabilities\'] = array(
\'edit_post\' => \'edit_course_document\',
\'edit_posts\' => \'edit_course_documents\',
\'edit_others_posts\' => \'edit_other_course_documents\',
\'publish_posts\' => \'publish_course_documents\',
\'read_post\' => \'read_course_document\',
\'read_private_posts\' => \'read_private_course_documents\',
\'delete_post\' => \'delete_course_document\'
);
// Give the course_document post type it\'s arguments
return $args;
}
那你就可以
/**
add teachers capability
*/
add_action(\'admin_init\',\'rpt_add_role_caps\',999);
function rpt_add_role_caps() {
$role = get_role(\'teacher\');
$role->add_cap( \'read_course_document\');
$role->add_cap( \'edit_course_document\' );
$role->add_cap( \'edit_course_documents\' );
$role->add_cap( \'edit_other_course_documents\' );
$role->add_cap( \'edit_published_course_documents\' );
$role->add_cap( \'publish_course_documents\' );
$role->add_cap( \'read_private_course_documents\' );
$role->add_cap( \'delete_course_document\' );
}
您不需要向administrator和editor添加功能,因为
capability_type
是
post
默认情况下,通过此插件注册自定义帖子类型时。如果您喜欢定制,可以更改
capability_type
基于其他岗位类型。
注意:确保Show in Menu
设置为true
. 是的true
默认情况下,在该插件中。