有的投稿类网站需要网站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输出了权限高的管理员,注释中分别是不同权限范围的用户。