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

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

В предыдущей статье я описал как через ajax подгружать общий чат wp-recall в модальном окне. Однако что бы это все было красивее я захотел что бы на кнопке "Чат", при клике по которой подгружается чат, отображалось количество пользователей в чате.

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

Поместите этот код в functions.php

// $room = комната чата, если ее не указать вернется ошибка. $time = промежуток времени
// в минутах, за который считать пользователей в чате. По умолчанию 15 минут.
function rcl_chat_online_w87h($room, $time = 15) {
if (!$room) return "Укажите комнату чата";
global $wpdb;
$in_chat = intval($wpdb->get_var("
SELECT COUNT(*) FROM ".RCL_PREF."chat_users 
  WHERE chat_id IN (
	SELECT chat_id FROM ".RCL_PREF."chats WHERE chat_room = '".$room."'
  ) 
AND user_activity > date_sub('".current_time('mysql')."', interval '".$time."' minute)
"));
return $in_chat;
}

Вот и все, теперь в нужном месте используем:

echo rcl_chat_online_w87h("my-chat");

^ это выведет кол-во пользователей онлайн в чате my-chat с последней активностью пользователей 15 минут.

Если вы хотите, например, показать онлайн чата "films" учитывая последнюю активность пользователей в 3 минуты, то используем:

echo rcl_chat_online_w87h("films", 3)

Вот как это у меня:

Примечание: что бы текст отображался как степень, то заключите его в <sup></sup>

7

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

не в сети 15 часов

Preci

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