如何限制WordPress用户访问其他用户


How to limit WordPress users from accessing other users

我试图限制某些用户看到数据库中的某些其他用户。

我们有一家公司,允许银行在其网站内注册会员资格。然后,该公司可以将自己的员工添加到站点中,以访问电子学习、会议门票等。

我试图做的是使公司 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' ); 

我们有一家公司,允许银行在其站点内注册 一个会员资格。

如果您正在处理银行信息(甚至不是财务数据)、员工数据、课程注册、门票等,那么从网络中提取随机 php 函数并尝试将其集成到 WordPress 主题中并期望结果有效,最重要的是安全,这绝对是愚蠢的。甚至仅用作演示。

帮你自己、你的工作和你的工作一个忙,并为WordPress的许多商业会员插件之一掏出一点钱。它们相当安全,提供您在进入此领域后会发现所需的功能,并提供支持。谷歌或看看 https://wordpress.org/plugins/search.php?q=membership