图片待添加
图片待添加

WordPress主题开发教程:给注册用户按权限等级区分

2020-03-16 14:48 分类:WordPress主题开发制作教程 阅读(次阅读) 标签:

有的投稿类网站需要网站WordPress主题能够调用活跃会员列表,活跃作者列表.
这样可以吸引作者的活跃度,也能让WordPress主题变得更有吸引力.

但是不能把注册用户调用出来,如何治调用作者的头像墙? WordPress主题开发教程:注册会员用户列表作者墙或用户头像墙展示

需要调用显示网站注册用户中的管理员和编辑两个角色,WordPress系统默认的用户角色有管理员、编辑、作者、投稿者以及订阅者,每个角色的权限等级不一样,要想仅仅调用用户中的管理员和编辑两个角色,可以通过判断各角色的权限等级筛选,然后调用数据!下面是通过用查询数据库实现的方法。

WordPress系统默认的五种角色共分为11种权限等级(level_0 ~ level_10)
其中:
管理员拥有高权限等级(level_0 ~ level_10)
编辑等级(level_0 ~ level_7)
作者等级(level_0 ~ level_2)
投稿者等级(level_0 ~ level_1)
订阅者等级(level_0)。

在数据库中,关于权限的字段位于数据库中 wp_usermeta 表中的 meta_value,所以判断函数可以这么写:

<?php   
 global $wpdb;
 //显示管理员
 $administrators = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value = 10 ORDER BY user_id");
 //显示管理员、编辑
 //$editors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 7 ORDER BY user_id");
 //显示管理员、编辑、作者
 //$authors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 2 ORDER BY user_id");
 //显示管理员、编辑、作者、投稿者
 //$contributors = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 1 ORDER BY user_id");
 //显示管理员、编辑、作者、投稿者、订阅者
 //$subscribers = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value >= 0 ORDER BY user_id");
 foreach($administrators as $administrator){
  echo get_the_author_meta('display_name', $administrator).'<br />';
 }
?>

上面的代码通过判断函数筛选了各等级角色,后通过foreach输出了权限高的管理员,注释中分别是不同权限范围的用户。


本文地址: https://www.wpyi.com/wordpress-yonghu-quanxian.html