嗨,我的 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 有一个“添加媒体”按钮,允许用户将图像上传到他们的画廊。但是当用户通过“添加媒体”弹出窗口上传时,上面的代码不起作用。他们仍然可以看到其他编辑上传的图片。
如何修改上述代码,使其在用户通过“添加媒体”弹出窗口而不是媒体库查看图像时仍然有效?非常感谢你的帮助。