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