Домой Wp-Recall WP-Recall: Вопросы и ответы Скрыть кнопку области меню в ЛК для гостей
6 ответ(ов) в теме
toka
не в сети 1 день
На сайте с 01.10.2017
Участник
Тем 19
Сообщения 96
1
00:48
Версия WP-Recall:16.17.8

Подскажите как скрыть кнопку области меню в ЛК для гостей.

0
Otshelnik-Fm
На сайте с 27.01.2013
Модератор
Тем 28
Сообщения 14277
2
09:23

Здравствуйте.

1. Или зацепившись за родительский класс кабинета

Вы не можете просматривать опубликованные ссылки

visitor-guest - класс назначается только когда просматривает не залогиненый.

2. Или использовать фильтр rcl_tabs

Вы не можете просматривать опубликованные ссылки

по форуму много примеров по нему, воспользуйтесь поиском.

3. Или использовать дополнение Lock Cabinet From Guests

Вы не можете просматривать опубликованные ссылки
Редакции сообщения
01.06.2019 09:24Otshelnik-FmПричина: не указано
2
toka
не в сети 1 день
На сайте с 01.10.2017
Участник
Тем 19
Сообщения 96
3
14:52

Я правильно понимаю, что второй способ надежнее?

0
toka
не в сети 1 день
На сайте с 01.10.2017
Участник
Тем 19
Сообщения 96
4
17:44

1. Или зацепившись за родительский класс кабинета

Вы не можете просматривать опубликованные ссылки

visitor-guest - класс назначается только когда просматривает не залогиненый.

Этот номер не пройдет, т.к. любой зарегистрированный по отношению к ЛК другого пользователя то же получает visitor-guest

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12360
5
18:45

toka сказал(а)
Этот номер не пройдет

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

Вы не можете просматривать опубликованные ссылки
1
toka
не в сети 1 день
На сайте с 01.10.2017
Участник
Тем 19
Сообщения 96
6
21:26

В конечном итоге результат достигнут.
Это в functions.php:

Спойлер

<?php
// Выводим предупреждение в ЛК пользователя если просматривает Гость
function add_notify_guest(){
global $rcl_user_URL, $user_ID;
if(!$user_ID) rcl_notice_text('Вам необходимо <a href="http://ваш-сайт/account">авторизоваться</a> для просмотра информации!','success');
}
add_action('init','add_notify_guest');

// Добавляем в body class для определения Гостя
function wp_add_body_guest_class($classes) {
global $rcl_user_URL, $user_ID;
if(!$user_ID) {
$classes[] = 'my-class-guest';
}
return $classes;
}
add_filter('body_class', 'wp_add_body_guest_class');

// Скрытие кнопок ЛК в области меню, счетчиков и действий для Гостя
function filter_function_guest_no_button( $data ) {
global $rcl_user_URL, $user_ID;
if(!$user_ID) {
$data['chat']['public'] = 0 ; // Личный чат
$data['allcomments']['public'] = 0 ; // Комментарии
$data['groups']['public'] = 0 ; // Группы
$data['notes']['public'] = 0 ; // Заметки
$data['rating']['public'] = 0 ; // Рейтинг
$data['followers']['public'] = 0 ; // Подписчики
}
return $data ;
}
add_filter( 'rcl_tabs', 'filter_function_guest_no_button' );
?>


Это в style.css:
Спойлер

.my-class-guest .icon-user-info {
display: none !important;
}
.my-class-guest .notify-lk .success {
border-left: none !important;
}

Благодарю всех за помощь. Тему можно закрывать.

0
Тема закрыта. Публикация новых сообщений запрещена.