Автоматически добавлять пользователей в многосайтовый сайт WordPress. - PullRequest
0 голосов
/ 18 мая 2018

У меня есть многосайтовая сеть WordPress, есть ли способ автоматического добавления пользователей на дочерних сайтах, когда я добавляю пользователей на любой из дочерних сайтов в мультисайтовой сети.

Сайт ограничен от публичного доступа.организационный интранет-сайт.Теперь пользователи могут просматривать дочерние сайты в едином входе, но я хочу ограничить некоторые части сайта от подписчиков.

Я добавил функцию добавления роли пользователя в теле, только сайта, где находится пользователь.зарегистрирован - соответствующая роль отображается, когда я добавляю вручную этого пользователя, добавляется его класс роли.

Я использую следующий код:

add_filter('body_class','add_role_to_body');
function add_role_to_body($classes) {
$current_user = new WP_User(get_current_user_id());
$user_role = array_shift($current_user->roles);
$classes[] = 'role-'. $user_role;
return $classes;
}

результат:

<body class="home page-template-default page page-id-2 logged-in group-blog **role-subscriber** website-1">

На других сайтах эта роль пользователей не добавляется, поскольку он не является пользователем на этом дочернем сайте.в этом сценарии результат:

<body class="home page-template-default page page-id-2 logged-in group-blog **role-** website-1">

Мой главный вопрос: есть ли здесь какой-либо способ автоматически добавлять пользователей на дочерних сайтах, когда я добавляю пользователей на любом из дочерних сайтов вмногосайтовая сеть, или для автоматического добавления в этот дочерний сайт, когда пользователь посещает этот конкретный дочерний сайт.Или любая функция для проверки роли пользователя с сайтов сети и добавления класса роли в тег body.

...