Рубрика: Пользователи

Как запретить пользователям менять цветовую схему?

Запрет смены цветовой схемы

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

//скрытие изменения цветовой схемы start
function wph_ban_color_scheme() {
    global $_wp_admin_css_colors;
    $_wp_admin_css_colors = 0;
}
add_action('admin_head', 'wph_ban_color_scheme');
//скрытие изменения цветовой схемы end

Этот сниппет скроет из профиля пользователя настройку выбора цветовой схемы, а в админке будет использоваться цветовая схема, установленная ранее.

Как сделать авторизацию на сайте через email?

Авторизация по Email

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

Как перенаправить пользователей после регистрации?

Успешная регистрация

По умолчанию после регистрации пользователя на WordPress-сайте ему будет выведено сообщение "Регистрация завершена. Проверьте вашу почту". Однако, в некоторых случаях вновь зарегистрированному пользователю необходимо показать правила сайта (если таковые есть). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//перенаправление после регистрации start
function wph_reg_redirect(){
    return home_url('/rules/');
}
add_filter('registration_redirect', 'wph_reg_redirect');
//перенаправление после регистрации end

Где "rules" это ярлык страницы с правилами сайта. После регистрации на сайте пользователь будет незамедлительно перенаправлен на указанную страницу (рекомендую на ней написать, что пароль пользователь получит на свой email - так как соответствующее сообщение он уже не увидит.)

Как изменить префикс author для авторов сайта?

По умолчанию WordPress дает изменить префиксы только для рубрик и меток сайта. Чтобы изменить префикс для авторов сайта (по умолчанию используется префикс author) вам необходимо добавить в файл functions.php вашей темы следующий код:

//смена префикса для авторов start
function wph_author_base() {
    global $wp_rewrite;
    $author_slug = 'profile';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'wph_author_base'); 
//смена префикса для авторов end

Где "profile" это новый префикс для авторов. Так же после добавления этого кода вам необходимо зайти в "Настройки\Постоянные ссылки" и нажать кнопку "Сохранить изменения" (ничего менять в настройках не требуется) - только после этого новый префикс для авторов начнет работать на вашем сайте.

Как запретить пользователям входить в админку?

Если по каким-то причинам вы не хотите, чтобы пользователи сайта могли входить в админку (любые ссылки в wp-admin), то сделать это очень просто. Достаточно лишь добавить в файл functions.php вашей темы следующий код:

//запрет доступа к админке start
function wph_noadmin() {
    if (is_admin() && !current_user_can('administrator')) {
        wp_redirect(home_url());
        exit;
    } }
add_action('init', 'wph_noadmin'); 
//запрет доступа к админке end

И это все. В админку вашего сайта зайти смогут только администраторы, а все остальные пользователи при попытке открыть любую ссылку в админке будут перенаправлены на главную страницу вашего сайта. Не забудьте только убрать верхнюю панель WordPress для пользователей, так как в ней содержатся ссылки на админку (как минимум ссылка на профиль пользователя и ссылка на консоль).

Как изменить имена ролей пользователей?

Новые имена ролей

В WordPress каждый пользователь имеет свою собственную роль - от подписчика до администратора. С помощью небольшого кода можно изменить стандартные имена этих ролей, без изменения их функциональных возможностей (то есть меняются только имена ролей и ничего больше). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код: