Публикация в группе: Кастомизация WP-Recall и Wordpress

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

Конечно же вы можете воспользоваться бесплатным аддоном

Notify Panel - Панель уведомлений для плагина Wp-Recall

Но и это в моем случае не решение:

  1. Я не замечаю на этой панели о каких-то уведомлениях.
  2. Она выводит лишнюю для меня информацию.

Мне интересно получить только количество новых уведомлений / сообщений, а уже что это будет - пользователь узнает в личном кабинете.

Делается это очень просто:

// Глобальная переменная. ID текущего пользователя
global $user_ID;
// Получаем кол-во новых уведомлений
$user_notice = rcl_count_noread_notifications($user_ID);
// Получаем кол-во новых сообщений
$user_ls = $wpdb->get_var("SELECT COUNT(*) FROM ".RCL_PREF."chat_messages WHERE private_key = '$user_ID' AND message_status='0'");

Дальше думаю все понятно - в переменных будет либо 0 либо кол-во новых уведомлений / сообщений

Если вы вообще не шарите, привожу пример как это используется у меня:

<div class="reg<?php if($user_notice !=0){echo " new_notif";};?>">
   <a href="<?php echo get_author_posts_url($user_ID);?>&tab=notifications">
      Уведомления: <?php echo $user_notice;?>
   </a>
</div>
<div class="reg<?php if($user_ls !=0){echo " new_notif";};?>" style="margin-top:8px;">
   <a href="<?php echo get_author_posts_url($user_ID);?>&tab=privat">
      Сообщения: <?php echo $user_ls;?>
   </a>
</div>

Что это за страшная вещь? Все просто:

Если уведомлений / сообщений нет - class = "reg" (в этом случае текст серый)

Если уведомления / сообщения есть - class = "reg new_notif" (в этом случае текст зеленый)

Ссылки

<?php echo get_author_posts_url($user_ID);?>&tab=notifications

Ведет на страницу уведомлений, т.е. site.ru/?author=<NAME>&tab=notifications

<?php echo get_author_posts_url($user_ID);?>&tab=privat

Ведет на страницу сообщений, т.е. site.ru/?author=<ID>&tab=privat

Ну собственно и скриншот как это выглядит у меня:

 

Теперь перед нами стоит другая проблема: зачем нам выводить количество новых сообщений если на сайте по-умолчанию есть всплывающее окошко, которое показывается если вам пришло сообщение, да еще и со звуком.

Собственно именно из-за этого окошка я и решил выводить свое уведомление, т.к. идея всплывающего окна хоть и удобна, но лично мне напоминает какой-то всплывающий баннер, да еще и со звуком. Я не говорю что это плохо, но лично мне не нравится.

Отключить это окно очень просто.

Добавьте в functions.php вашей темы

remove_action('wp_enqueue_scripts','rcl_messages_scripts');

Хочу отметить что мы не полностью убиваем подключение всех скриптов аддона. На сайте у нас уже не будет всплывать окошко со звуком. А вот на странице переписки звук при получении сообщения останется - там мне кажется он вполне уместен.

На этом все.

5

Автор публикации

не в сети 22 часа

Preci

1 493
Telegram: https://t.me/preci_123
Комментарии: 495Публикации: 83Регистрация: 11-11-2014Продаж/Покупок: 0/0