Що таке WordPress Multisite і як додати користувача до всіх сайтів мережі?

Що таке WordPress Multisite і як додати користувача до всіх сайтів мережі?

WordPress Multisite — це потужна функція, яка дозволяє створювати та керувати кількома сайтами в одній установці WordPress. Ця система ідеально підходить для компаній, які керують кількома сайтами (наприклад, регіональними піддоменами), освітніх організацій, які створюють портали для різних факультетів, або для блогерів, що ведуть декілька проєктів.

Особливістю Multisite є те, що адміністратор мережі може створювати нові сайти “на льоту”, використовуючи піддомени чи підкаталоги. Усі сайти в мережі використовують одну базу даних і файли WordPress, що спрощує оновлення системи та розширень. Але є і певні виклики: наприклад, якщо потрібно додати користувача на всі сайти в мережі, то стандартного інструмента для цього в WordPress немає.

У цій статті я розгляну, як вручну додати користувача на всі сайти, а також як автоматизувати цей процес за допомогою спеціальної функції.


Як вручну додати користувача до мережі WordPress Multisite?

  1. Зайдіть у налаштування мережі.
    У панелі адміністратора перейдіть до Мої сайти > Адміністратор мережі > Сайти.

  2. Оберіть потрібний сайт.
    На екрані “Сайти” натисніть на сайт, до якого потрібно додати користувача. Відкриється меню редагування.

  3. Додайте користувача.
    У вкладці Користувачі:

    • Якщо користувач вже існує в мережі, введіть його ім’я, оберіть роль (наприклад, редактор чи адміністратор) і натисніть Додати користувача.
    • Якщо користувача немає, створіть нового: заповніть ім’я, електронну пошту, оберіть роль і натисніть Додати нового користувача.
  4. Повторіть для кожного сайту.
    Цей процес потрібно виконати для кожного сайту в мережі, якщо користувач має отримати доступ до всіх.

Це ефективно для невеликих мереж, але якщо у вас десятки чи навіть сотні сайтів, такий підхід забирає багато часу. У таких випадках доцільніше використовувати автоматизацію.


Як автоматично додати користувача на всі сайти мережі?

Якщо ви знайомі з програмуванням, можна створити спеціальну функцію, яка автоматизує додавання користувача. Наведемо приклад такої функції.

Приклад функції для автоматизації:

Код потрібно додати у файл 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' );

Як використовувати цю функцію?

  1. Після додавання коду у functions.php, перейдіть до мережі WordPress Multisite.
  2. Введіть у рядок адреси такий параметр запиту:
    ?wpmu_admin_sync=[email користувача].
    Наприклад:
    mysite.com/?wpmu_admin_sync=adminuser@mysite.com.
  3. Натисніть Enter, і користувач буде автоматично доданий до всіх сайтів мережі з роллю адміністратора.

Примітка: Електронна пошта має належати існуючому користувачеві.


Переваги використання WordPress Multisite

  • Економія ресурсів. Усі сайти використовують одну інсталяцію WordPress, що зменшує навантаження на сервер і спрощує адміністрування.
  • Швидке масштабування. Додавати нові сайти можна за кілька кліків.
  • Централізоване управління. Адміністратор мережі контролює всі сайти, додає плагіни та теми для всієї мережі.

Висновок

Керування користувачами в мережі WordPress Multisite — важливий аспект, особливо якщо ви маєте багато сайтів. Хоча WordPress не пропонує вбудованого інструмента для автоматичного додавання користувача до всіх сайтів, ви можете зробити це вручну або автоматизувати процес за допомогою коду.

WordPress Multisite — чудове рішення для тих, хто шукає спосіб ефективного керування кількома сайтами, а правильно налаштовані користувачі допоможуть оптимізувати робочі процеси в мережі.

Коментарі
    Translate »