Особливістю Multisite є те, що адміністратор мережі може створювати нові сайти “на льоту”, використовуючи піддомени чи підкаталоги. Усі сайти в мережі використовують одну базу даних і файли WordPress, що спрощує оновлення системи та розширень. Але є і певні виклики: наприклад, якщо потрібно додати користувача на всі сайти в мережі, то стандартного інструмента для цього в WordPress немає.
У цій статті я розгляну, як вручну додати користувача на всі сайти, а також як автоматизувати цей процес за допомогою спеціальної функції.
Зайдіть у налаштування мережі.
У панелі адміністратора перейдіть до Мої сайти > Адміністратор мережі > Сайти.
Оберіть потрібний сайт.
На екрані “Сайти” натисніть на сайт, до якого потрібно додати користувача. Відкриється меню редагування.
Додайте користувача.
У вкладці Користувачі:
Повторіть для кожного сайту.
Цей процес потрібно виконати для кожного сайту в мережі, якщо користувач має отримати доступ до всіх.
Це ефективно для невеликих мереж, але якщо у вас десятки чи навіть сотні сайтів, такий підхід забирає багато часу. У таких випадках доцільніше використовувати автоматизацію.
Якщо ви знайомі з програмуванням, можна створити спеціальну функцію, яка автоматизує додавання користувача. Наведемо приклад такої функції.
Код потрібно додати у файл functions.php
вашої активної теми:
/**
* Додати користувача-адміністратора на всі сайти мережі WordPress Multisite
*/
function kevinlearynet_wpmu_add_user_all_sites() {
$email = isset( $_GET['wpmu_admin_sync'] ) ? esc_attr( $_GET['wpmu_admin_sync'] ) : null;
if ( ! $email ) {
return;
}
$user = get_user_by( 'email', $email );
if ( $user === false ) {
wp_die( "Користувач із електронною адресою $email не знайдений у мережі." );
}
$role = isset( $user->roles[0] ) ? $user->roles[0] : 'administrator';
$sites = get_sites( [
'limit' => 0,
'public' => true,
'spam' => false,
'deleted' => false,
'archived' => false,
'mature' => false,
] );
foreach ( $sites as $site ) {
$site_id = $site->blog_id;
add_user_to_blog( $site_id, $user->ID, $role );
}
}
add_action( 'after_setup_theme', 'kevinlearynet_wpmu_add_user_all_sites' );
functions.php
, перейдіть до мережі WordPress Multisite.?wpmu_admin_sync=[email користувача]
.mysite.com/?wpmu_admin_sync=adminuser@mysite.com
.Примітка: Електронна пошта має належати існуючому користувачеві.
Керування користувачами в мережі WordPress Multisite — важливий аспект, особливо якщо ви маєте багато сайтів. Хоча WordPress не пропонує вбудованого інструмента для автоматичного додавання користувача до всіх сайтів, ви можете зробити це вручну або автоматизувати процес за допомогою коду.
WordPress Multisite — чудове рішення для тих, хто шукає спосіб ефективного керування кількома сайтами, а правильно налаштовані користувачі допоможуть оптимізувати робочі процеси в мережі.
Заповніть форму, щоб замовити послугу по створенню сайта:
Заповніть форму та найближчим часом я з вами зв’яжуся:
Коментарі