[WordPress开发]后台只显示当前登录用户的文章和媒体文件

释放双眼,带上耳机,听听看~!

很多WordPress主题都是带有多用户的功能,在WordPress后台会默认显示的所有用户文章、媒体文件,这样的情况会导致大家都可以看到其他用户的文章、媒体文件,很不方便管理。

有没有办法能够让后台只显示当前登录用户的文章和媒体文件呢?

当然是可以的!具体方法是将下面的代码添加到当前主题的 functions.php 文件即可:

//仅显示当前用户的文章、媒体文件
add_action( 'init', 'check_user_role' );
function check_user_role() {
global $current_user;
if( $current_user->roles[0] != 'administrator' ) {
//在[媒体库]只显示用户上传的文件
add_action('pre_get_posts','MBT_restrict_media_library');
function MBT_restrict_media_library( $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_media_library') )
$wp_query_obj->set('author', $current_user->ID );
return;
}
}
}

注:如果你的WordPress所使用的数据库前缀不是默认的wp_,请将第 5 、6 行中的wp_ 修改为你的WordPress站点的数据库前缀。

人已赞赏
技术教程

[WordPress开发]正确引入加载JS、css文件的方法

2020-4-22 10:29:29

技术教程

[WordPress开发]如何给古腾堡编辑器添加自定义模块

2020-4-22 10:29:36

无言资源博客
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索