Добрый день господа! Есть проблема с вашим чатом, а именно. При вызове функции на отдельной странице функций rcl_chat_tab() и rcl_get_chat_private() соответственно с передачей id тех пользователей с кем хотим общаться. Не работает вывод сообщений если не обновить страницу. Ждать можно долго. Толку 0. В общем с чем это связано не понятно. Если делать в самом ЛК в отдельной вкладке, вроде работает. На отдельной странице нет.
function chat() { global $wpdb; if (isset ($_GET['content'])) {$token = $_GET['content']; if ($token == '') { unset($token); }else{ $t_name = $wpdb->prefix . 'chat_'; $q_ = $wpdb->get_row("SELECT * FROM ".$t_name." WHERE token='".$token."'"); if ($q_ != 0) { if (isset ($_GET['msgwith'])) { $msgwith = $_GET['msgwith']; $id_ = get_user_by('login', $msgwith); $id_ = $id_->id; //$chat_ = rcl_get_chat_private(intval($id_)); $js = <<< JS <script type="text/javascript"> window.onload = function(){ document.getElementsByClassName('chat-messages').scrollTop = 9999; } </script> JS; $chat = rcl_chat_tab($id_).'<meta http-equiv="refresh" content="25">'; $style = <<< Styled <style> #site-header{ display:none !important; } </style> Styled; } }else{ $style = <<< Styled <style> #site-header{ display:none !important; } </style> Styled; $msg = "<div class='coin_out_fs' style='margin-top:20px;margin-bottom:20px;text-align: left !important;'>Сделка отменена или ссылка более не действительна.<img src='/inc/img/404.gif' style='width:100%;'></div>"; } } }else{ $style = <<< Styled <style> #site-header{ display:none !important; } </style> Styled; $msg = "<div class='coin_out_fs' style='margin-top:20px;margin-bottom:20px;text-align: center;'>Сделка отменена или ссылка более не действительна.<img src='/inc/img/404.gif' style='width:100%;'></div>"; } return $chat_[content].$style.$msg.$js.$chat; } add_shortcode('chat', 'chat');
На странице просто шорт код [chat]
разбираться в этой мешанине html, css и php не самое приятное дело, решительно неясно какие данные передаются в некоторых параметрах, поэтому предлагаю вам для начала написать шорткод с самым простым кодом:
return rcl_chat_tab(10);
вместо 10 укажите ИД пользователя с которым хотите вести переписку, будет ли при этом формироваться чат и работать?
Будет полезно посмотреть в консоль браузера, возможно, там болтается js-ошибка, которая и блокирует запросы на получение новых сообщений.
Вы просили, я вам скинул функцию, для того, чтобы на отдельной странице мог загрузится ваш чат и в него передались id собеседников.
я выдираю id пользователя
$id_ = get_user_by('login', $msgwith); $id_ = $id_->id; $chat = rcl_chat_tab($id_);
Все просто, я так делал как вы мне говорите, успехов нет. И дело не в моем коде, мой код чисто передает id собеседника который обрабатывает ваша функция. Либо ей не хватает подключение библиотеки js либо я не знаю.
Я сделал так:
echo rcl_chat_tab(1);
мне выдал список контактов - жму на окно контакта - выходит всплывающее окно для общения с ним. т.е. все работает. Ну только окно контактов - чуток стили подправить.
А у вас что вышло? Вы показывайте скриншотами. Сейчас непонятно ничего на словах
newn22 сказал(а)
Все просто, я так делал как вы мне говорите, успехов нет
У вас видимо все не так просто, начнем с того, что функция get_user_by возвращает объект пользователя, где его ИД хранить в свойстве ID, а не id.
Я вас попросил отбросить свой код и написать простейший шорткод только с функцией плагина, вы это сделали? Если да, то давайте ссылку на страницу где размещен этот шорткод и доступ к тестовому аккаунту, чтобы можно было убедиться в его работе или в его проблеме.
Otshelnik-Fm сказал(а)
Я сделал так:
echo rcl_chat_tab(1);
мне выдал список контактов - жму на окно контакта - выходит всплывающее окно для общения с ним. т.е. все работает. Ну только окно контактов - чуток стили подправить.А у вас что вышло? Вы показывайте скриншотами. Сейчас непонятно ничего на словах
Понятное дело, что у вас список выведется контактов, так как вы используйте пользователя 1 при обработки данной функции. Мне такого не нужно. Принцип как работает мне понятен.
Андрей CS сказал(а)
return rcl_chat_tab(10);
Я засомневался после того как вы сказали, но проверил еще раз. Итог все равно 0.
1) Шорт код с возвратом вашей функции
2) Результат шорт кода
//------------------------------------------------------------------------------------
Дальше, вы говорите про get_user_by() я понимаю, что там ID. но ничего не вывело. Пусто.
В общем, прошу помочь и решить проблему мою, если не сложно.
newn22 сказал(а)
но ничего не вывело. Пусто.
ну так вы распечатайте и посмотрите что у вас в переменной - содержится id нужного юзера или нет.
Я передал в функцию id пользователя - получил результат. Почему у вас по другому - ищите по коду вашему выше что и где не получаются данные.
Otshelnik-Fm сказал(а)
newn22 сказал(а)
но ничего не вывело. Пусто.ну так вы распечатайте и посмотрите что у вас в переменной - содержится id нужного юзера или нет.
Я передал в функцию id пользователя - получил результат. Почему у вас по другому - ищите по коду вашему выше что и где не получаются данные.
Я исправил, может не доглядел. Зато на email приходит сообщение о том, что мне новое смс
я только проверил - у меня сообщения приходят. т.е. загрузка новых сообщений работает без обновлений страницы. У вас в обычных личных сообщениях все работает? Сообщения идут с таким промежутком как установлено в настройках чата?
Если да - то еще раз - смотрим чтобы в консоли браузера не было js ошибок.
я выше уже написал, что вам надо сделать если проблема наблюдается с тем шорткодом, что я просил сделать:
Андрей CS сказал(а)
давайте ссылку на страницу где размещен этот шорткод и доступ к тестовому аккаунту, чтобы можно было убедиться в его работе или в его проблеме.
гадать не буду, нет на это времени
я на скрине вижу что значок https желтый - это свидетельствует что https или не настроен. Или смешанный контент
Прежде чем браться за кастомизации - надо чтобы сайт на дефолте не выдавал подобного. У себя проблему не замечаю. Функция работает. Сообщения приходят. Значит с кастомизацией мы вам помогли верно.
Ищите по форуму - смешанный контент - неоднократно обсуждалось.
Андрей CS сказал(а)
Проблема с чатом на дефолтной теме гарантировано отсутствует, если проблема есть, то только на стороне сторонних плагинов или вашего кастомного кода.
Почему вы отказываетесь дать ссылку на свой сайт? Мне кажется, что причина проблемы уже была бы найдена сделай вы это ранее.
Извините, мало кому доверяю, причину нашел, это дело в плагине. До отключения плагинов я не еще не дошел, много в голове мусора. Дело в плагине Autoptimize. Его отключил все работает, позже перепроверю настройки.
Otshelnik-Fm сказал(а)
я на скрине вижу что значок https желтый - это свидетельствует что https или не настроен. Или смешанный контентПрежде чем браться за кастомизации - надо чтобы сайт на дефолте не выдавал подобного. У себя проблему не замечаю. Функция работает. Сообщения приходят. Значит с кастомизацией мы вам помогли верно.
Ищите по форуму - смешанный контент - неоднократно обсуждалось.
Дело не в этом))