您可以允许WordPress中的作者角色(或任何自定义角色)使用以下代码段删除媒体库项目:
/**
* Add Capability to Author Role to Delete Media Attachments
*/
add_action( \'admin_init\', function() {
$author = get_role( \'author\' );
if ( ! $author->has_cap( \'delete_posts\' ) ) {
$author->add_cap( \'delete_posts\' );
}
});
The
capability 编辑/删除WordPress媒体库中的附件项目
edit_posts
和
delete_post
如所示
WP_Media_List_Table::_get_row_actions():
然而,WordPress分享edit_posts
和delete_posts
岗位能力and 媒体正在授予管理两者的能力,即使只打算管理其中一个。
例如,如果您想让作者删除和编辑媒体,他们将选择访问帖子和评论管理菜单,这可能并不可取。
一种方法是通过以下方式巧妙地隐藏这些管理菜单链接:
/**
* Remove Posts Admin Menu for Author Role
*/
add_action( \'admin_init\', function () {
$user = wp_get_current_user();
if ( ! empty( $user->roles ) ) {
if ( in_array( \'author\', $user->roles ) ) {
remove_menu_page( \'edit.php\' );
remove_menu_page( \'edit-comments.php\' );
}
}
});
请记住,这不会取消他们对帖子或评论屏幕的访问权限,他们只是看不到仪表板中的管理菜单。
当然,应该使用更健壮的方法来控制它们的访问,但这样做的目的是在添加edit_posts
或delete_posts
到WordPress中的用户角色