Как сделать два разных личных кабинета на WP?

Как сделать два разных личных кабинета на WordPress?

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

Шаг 1: Создание новой пользовательской роли

Первым шагом будет создание новой пользовательской роли для одного из личных кабинетов. Вы можете создать новую роль с помощью функции add_role, которую можно добавить в файл functions.php вашей активной темы или в файл плагина.

Пример использования функции add_role:

$result = add_role( 'custom_role', 'Custom Role', array(
    // Здесь вы можете задать права доступа для новой роли
));

Вы можете указать необходимые права доступа для этой роли. Например, если вы хотите, чтобы пользователи с этой ролью могли редактировать только свой профиль, вы можете задать право edit_profile.

Шаг 2: Разработка нового шаблона личного кабинета

Далее вам понадобится создать новый шаблон страницы для личного кабинета этой новой роли. Для этого вам потребуется создать файл template-custom_role.php в папке вашей темы (например, wp-content/themes/your-theme-name/template-custom_role.php).

В этом файле вы можете использовать все необходимые HTML и PHP коды для создания нужного вам макета личного кабинета.

Шаг 3: Установка правильного шаблона для новой роли

Чтобы пользователи с новой ролью видели правильный шаблон личного кабинета, вам потребуется добавить кастомную функцию в файл functions.php вашей активной темы или в файл плагина.

Пример:

function custom_role_template_redirect() {
    $current_user = wp_get_current_user();
    
    if ( in_array( 'custom_role', (array) $current_user->roles ) ) {
        include( get_template_directory() . '/template-custom_role.php' );
        exit();
    }
}
add_action( 'template_redirect', 'custom_role_template_redirect' );

Функция custom_role_template_redirect будет перенаправлять пользователей с ролью "custom_role" на страницу с шаблоном template-custom_role.php.

Шаг 4: Создание второй пользовательской роли и шаблона

Вы также можете создать вторую пользовательскую роль и повторить шаги 1-3 для второго личного кабинета. Просто повторите процесс создания новой роли, разработки шаблона и настройки прав доступа.

Этим самым вы сможете создать два разных личных кабинета на вашем сайте WordPress. Обратите внимание, что вам также может потребоваться дополнительная настройка прав доступа, чтобы разрешить или запретить определенные операции, например, редактирование постов или комментирование, для каждой из ролей. Это можно сделать с помощью плагинов или пользовательского кода.