在Wordpress媒体库中查看由其他编辑者上传的图像时限制编辑者

时间:2013-01-03 07:17:23

标签: wordpress media-library

您好我的functions.php中有这个代码,当编辑器查看媒体库时它运行良好:http://example.com/wp-admin/upload.php

add_action('pre_get_posts','users_own_attachments');

function users_own_attachments( $wp_query_obj ) {

global $current_user, $pagenow;

if( !is_a( $current_user, 'WP_User') )
    return;

if ( 'upload.php' != $pagenow ) 
    return;

if( !current_user_can('delete_users') )
    $wp_query_obj->set('author', $current_user->ID );

return;
}

上述代码将阻止其他编辑者查看媒体库中其他编辑者上传的图像。只有管​​理员才能看到上传的所有图片。编辑只能看到他们自己上传的图像(而不是其他人)。

现在问题是,在创建或编辑帖子时,Wordpress有一个“添加媒体”按钮,允许用户将图像上传到他们的图库。但是当用户通过“添加媒体”弹出窗口上传时,上面的代码不起作用。他们仍然可以看到其他编辑上传的图片。

如何修改上述代码,以便在用户通过“添加媒体”弹出窗口而不是媒体库查看图像时仍然可以使用?非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我的答案在这里:https://wordpress.stackexchange.com/questions/78084/prevent-other-editors-from-viewing-images-of-other-editors-in-add-media-popup

策略是添加一个条件标签,用于检查用户是否正在查看添加媒体弹出窗口。