Separate user bases or hide users of another role or connected to another minisite

I am creating a WordPress site in which I want to create mini-sites/sub-sites meaning each of them has their own separate user base. Alternatively, it's ok that all the users are in the same base, but that users that are not in the same role, group or those connected to a subsite are hidden. This could be done either with a plugin or that I create a PHP function.

I have looked through many plugins. WordPress multisite have a shared user base. My PHP skills are very limited, but I can understand it when I read it and modify simple things. I saw that it's possible to add_action('pre_user_query','xxxx');

I've tried the plugin Members. However, if identifying the user's role through $current_user-roles[0] and I don't know how to create a code that hides users that do not have the same role.

TL;DR

Can anyone suggest a plugin or a PHP function that allows to either have separate user bases for subsites in one WordPress installation or which allows to hide users of another role or connected to another subsite when using the plugin Multisite? I'm also open to hear other solutions that I may not have thought about.

Thank you!!

Topic multisite-user-management user-roles Wordpress

Category Web


You can use a subdomain for every site. Then it's easy to separate the users per wp-config.php:

$base = str_replace( '.', '_', filter_input( INPUT_SERVER, , 'SERVER_NAME' );

const CUSTOM_USER_TABLE $base . '_users';
const CUSTOM_USER_META_TABLE  . '_usermeta';

unset($base); // clean up

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.