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站点的数据库前缀。

发表回复

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限VIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 645876098@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡