使用自定义帖子类型和分类法开发Wordpress网站
创建了一个角色,此用户只能在1个自定义帖子类型上修改自己的帖子(而不是在任何其他帖子上)。
这很好用,可以通过下面的代码实现,问题是这个用户可以看到与这个帖子类型相关的分类法,
用户无法将这些分类法添加到自定义帖子中(勾选框显示为灰色)
我知道将修改后的帖子更改为true会允许这样做但不能这样做,因为它会让用户访问网站上的其他帖子类型
感谢任何帮助提示,谢谢
add_role('psp_project_manager',
'Project Manager',
array(
'read' => true, // true allows this capability
'edit_posts' => false,
'delete_posts' => false,
'publish_posts' => false,
'upload_files' => true,
)
);
}
function psp_add_role_caps() {
// Add the roles you'd like to administer the custom post types
$roles = array('psp_project_manager');
// Loop through each role and assign capabilities
foreach($roles as $the_role) {
if ( get_role( $the_role ) ) {
$role = get_role($the_role);
$role->add_cap( 'read' );
$role->add_cap( 'read_psp_project');
$role->add_cap( 'read_private_psp_projects' );
//$role->remove_cap( 'edit_others_psp_project' );
//$role->remove_cap( 'edit_others_psp_projects' );
$role->add_cap( 'edit_published_psp_project' );
$role->add_cap( 'edit_published_psp_projects' );
$role->add_cap( 'edit_psp_project' );
$role->add_cap( 'edit_psp_projects' );
$role->add_cap( 'edit_private_psp_project' );
$role->add_cap( 'edit_private_psp_projects' );
//$role->add_cap( 'edit_others_psp_projects' );
//$role->add_cap( 'edit_published_psp_projects' );
$role->add_cap( 'publish_psp_project' );
$role->add_cap( 'publish_psp_projects' );
$role->remove_cap( 'delete_others_psp_projects' );
//$role->add_cap( 'delete_private_psp_projects' );
$role->add_cap( 'delete_published_psp_projects' );
}
}
}