这就是我现在一直试图弄清楚如何做几个小时的事情。
我希望作者角色能够通过帖子将内容上传到媒体库,并能够查看整个媒体库。我不想要的是让作者角色删除任何媒体,甚至是他们自己的媒体。
我已经考虑过在上传完成后自动将作者切换为“媒体”用户,但我希望有更清洁的方式。
有什么想法吗?
答案 0 :(得分:1)
WordPress有许多地方会让用户删除图像,因此尝试隐藏它们都很有挑战性(而且很危险,因为新的插件或WordPress版本可能会添加另一个)。但是,您可以添加以下函数以防止删除并抛出错误(不漂亮但有效)。如果您想要更精细的控制级别,可以通过添加用于删除图像的自定义功能来增强此功能。
SPIx->CR1
答案 1 :(得分:0)
“delete_media”没有内置功能。我认为这包含在“delete_posts”中,因为上传被视为帖子。 (请注意,作者只能删除自己的帖子和附件。)
可以添加角色或功能,但您必须替换默认的媒体管理屏幕,其中删除操作由“delete_posts”上限控制。你不想搞乱核心文件upload.php
等等。所以你必须限制对它们的访问,然后为作者编写你自己的面板。你可能不想这样做。 : - )
add_attachment
和edit_attachment
操作挂钩将post_author
更改为管理员ID。
希望有所帮助。
答案 2 :(得分:0)
在functions.php文件中添加此代码:
add_action('media_row_actions','users_own_attachments', 2, 1);
function users_own_attachments( $wp_query_obj ) {
if( !current_user_can( 'delete_plugins' ) ){
unset($wp_query_obj['delete']);
return $wp_query_obj;
}
}