好吧,首先get_current_screen
仅适用于管理区域,但即使在管理中也会在某些页面上造成问题。使用$pagenow
改为全局变量。
所以现在如果你想隐藏媒体not 上传的贡献者这是我会怎么做。
// Prevents user to see all uploads, only theirs
add_action(\'pre_get_posts\',\'wpse_users_own_attachments\');
function wpse_users_own_attachments( $wp_query_obj ) {
global $current_user, $pagenow;
if( !is_a( $current_user, \'WP_User\') )
return;
if( !in_array( $pagenow, array( \'upload.php\', \'admin-ajax.php\' ) ) )
return;
if( current_user_can(\'contributor\') )
$wp_query_obj->set(\'author\', $current_user->ID );
return;
}