×

WordPress 媒体库只显示用户自己上传的文件

优畅主题 Wordpress技术 2014-07-03 14:45 9,689 5 条评论

在给客户定制主题的时候,涉及到投稿者前台投稿,媒体添加的时候,可以看见整个媒体库。为了解决这个问题,今天分享下在 WordPress 媒体库只显示用户自己上传的文件 的方法。在当前主题的 functions.php 文件添加下面的代码:

/**
 * WordPress 媒体库只显示用户自己上传的文件
 * http://www.uctheme.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' );

最终效果:非管理员用户 在文章编辑页面的[添加媒体]窗口和 多媒体 管理界面只显示自己上传的文件.


如果本文对你有帮助,你可以扫描右边的二维码打赏,谢谢支持
联系优畅:uctheme#qq.com (#改为@)
微信订阅号:优畅主题(uctheme)
官网淘宝店:http://uctheme.taobao.com
版权声明:版权归 优畅主题 所有,转载请注明出处!
转载请保留链接: https://www.uctheme.com/technical/665.html
谢谢支付宝打赏
谢谢微信打赏

品牌创立:2012-11-18优畅主题

优畅主题成立于2012年11月18日,专业Wordpress导购主题开发商,拥有多年Wordpress主题设计经验,专门为淘宝客和导购客站长量身打造高端赚钱模板,我们注重细节,有着严谨的开发态度,一切从客户角度出发,如果你也喜欢 WordPress导购主题,欢迎和我们一起交流!


5 + 9 = ?

  1. visvis
    沙发!
    visvis 2014-09-15 下午 3:28 [回复]

    这个代码很牛啊 ,就是要找这样的代码!!!但是我测试了一下 管理员用没问题!但是一般的用户确实看不见别人的图片了,但是上传图片的时候会显示上传错误!请问这个怎么解决!!很好的功能呀!!!

    • 优畅主题
      优畅主题 2014-09-15 下午 3:32

      @visvis 上传图片出错有很多种情况:
      1.上传的文件夹路径没有读写权限,导致上传失败(Linux主机经常遇到)
      2.一般用户有上传权限吗?
      3.服务器配置问题,这个问题就要慢慢排查。

    • visvisvis
      visvisvis 2014-09-15 下午 3:58

      @优畅主题 谢谢耐心的解答,我发现了一个问题 ,是再后台测试发表文章能够上传图片,但是我在前台调用编辑器代码,也没用这串代码的时候上传图片的时候就发生了错误!!不知道什么原因,唉!

    • 优畅主题
      优畅主题 2014-09-15 下午 4:01

      @visvisvis 你给阅读者角色提供上传图片权限了吗?
      从你回答来看。是没有权限导致。你测试下我官网投稿页面上传图片是好的嘛?

    • visvisvis
      visvisvis 2014-09-15 下午 4:40

      @优畅主题 我觉得应该是 角色权限的问题 我很纳闷 ,我已经赋予了权限角色上传,但是我一个帐号是作者权限登录的 在前台登录然后发表文章就是上传不了图片,但是我用管理员的帐号在前台登录然后在发表文章的地方插入图片一切都没有问题。我回到后台用不是管理员的帐号发表文章又可以插入图片,我已经不知道该怎么样操作了!!

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册