在一些情况下,我们希望非管理员的其他用户在投稿或撰写文章时,只能看到自己曾经上传过的图片,而不能看别人上传的图片,本文通过代码,最终实现:非管理员用户 在文章编辑页面的[添加媒体]窗口(下图1) 和 多媒体 管理界面(下图2)只显示自己上传的文件(还不能修正媒体数量显示)

图1 媒体上传界面只显示自己上传过的媒体
在当前主题的 functions.php 文件添加下面的代码:
/** * WordPress 媒体库只显示用户自己上传的文件 * http://www.wpdaxue.com/view-user-own-media-only.html */ //在文章编辑页面的[添加媒体]只显示用户自己上传的文件 function my_upload_media( $wp_query_obj ) { global $current_user, $pagenow; if( !is_a( $current_user, 'WP_User') ) return; if( 'admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments' ) return; if( !current_user_can( 'manage_options' ) && !current_user_can('manage_media_library') ) $wp_query_obj->set('author', $current_user->ID ); return; } add_action('pre_get_posts','my_upload_media'); //在[媒体库]只显示用户上传的文件 function my_media_library( $wp_query ) { if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) { if ( !current_user_can( 'manage_options' ) && !current_user_can( 'manage_media_library' ) ) { global $current_user; $wp_query->set( 'author', $current_user->id ); } } } add_filter('parse_query', 'my_media_library' );

图2 后台媒体管理界面只显示自己上传过的图片
如果谁知道如何修正多媒体管理界面的媒体数量显示,希望告知。
如果大家不想折腾代码的,也可以试试?View Own Posts Media Only?插件。【来自:WordPress大学】
下面我简单说几句