我试图限制某些用户查看数据库中的某些其他用户。
我们有一家公司允许银行在其网站内注册会员资格。然后,该公司可以将自己的员工添加到站点中以访问电子学习,会议票等。
我想做的是让公司A可以创建/编辑/删除自己的员工,但是他们无法访问或看到公司B的员工。
我找到了以下代码,但我不是php中最好的,而且在wordpress.org博客上发布代码的人说它不完整。
我怎样才能做到我想要的呢?
// Custom User Roles to limit capabilities to view other users within other inst.
function admin_users_filter( $query ){
global $pagenow,$wp_query,$user_id;
if ( is_admin() && $pagenow=='users.php' && !current_user_can('manage_options') ) {
$editor_user_id = get_current_user_id();
$affiliate = get_user_meta($editor_user_id, 'affiliate', true);
$query->search_term = $affiliate;
global $wpdb;
if (!is_null($query->search_term)) {
$query->query_from .= " INNER JOIN {$wpdb->usermeta} ON " . "{$wpdb->users}.ID={$wpdb->usermeta}.user_id AND " . "{$wpdb->usermeta}.meta_key='affiliate' AND "."{$wpdb->usermeta}.meta_value LIKE '%{$query->search_term}%'";
}
}
}
add_filter( 'pre_user_query', 'admin_users_filter' );
答案 0 :(得分:1)
我们有一家公司允许银行在其网站内注册 会员资格......
如果您正在处理银行信息(甚至不是财务数据),员工数据,课程注册,门票等,那么从网上提取随机PHP功能并尝试将其集成到网上是绝对愚蠢的一个WordPress主题,并期望结果工作 - 最重要的是 - 是安全的。即使只是作为演示使用。
为自己和你的工作以及你的工作做好准备,并为WordPress的众多商用会员插件之一拨出一点钱。它们相当安全,提供您在进入此项目后所需的功能,并提供支持。谷歌或查看https://wordpress.org/plugins/search.php?q=membership