Здравствуйте!
Проблема с аддоном "Личные сообщения". Нет информации о переписке: _http://prntscr.com/8ctt9s. Хотя сообщения есть, панель уведомлений это показывает, можно увидеть на том же скрине. Проводил деактивацию и активацию аддона, менял тему, не помогло. Причем данный баг наблюдается только у пользователя Admin. Под другим пользователем все нормально работает. На всякий пожарный скинул вам в личку дополнительные данные.
Андрей Plechev сказал(а)
возможно это поможет: если получатель сообщения ничего не написал в ответ на сообщение другого пользователя, то контакт не добавляется.
Ну да, помогло. Получается при регистрации срабатывает аддон "Hello private message", пользователь отвечает на сообщение. А вот админ не видит его ответы. Это можно как то исправить?
вообще в уведомлениях должна быть ссылка на текст принятого сообщения, а то что у вас виджет уведомлений не работает как надо, так это другой вопрос.
Вы хотя бы попробуйте глянуть в консоль своего сайта, найдете там много интересного и отключите дополнение group-event, оно нерабочее на последней версии wp-recall
Андрей Plechev сказал(а)
вообще в уведомлениях должна быть ссылка на текст принятого сообщения, а то что у вас виджет уведомлений не работает как надо, так это другой вопрос.
Вы хотя бы попробуйте глянуть в консоль своего сайта, найдете там много интересного и отключите дополнение group-event, оно нерабочее на последней версии wp-recall
Андрей, я дико извиняюсь, программист я самоучка и тем более не в данной области. Если я что то не так написал и задел вас чем то, простите меня. Я не могу вас просить обучать меня, но есть просьба подсказать. Я знаю что есть определенные инструменты, в данной области, для отслеживания ошибок. Я думаю что именно это вы имели ввиду, когда говорили "Вы хотя бы попробуйте глянуть в консоль своего сайта". Могли бы вы мне подсказать ссылку на статью?
Нет. Сейчас используя мой аддон приветствия ситуация выглядит так:
1.Пользователю приходит приветствие автоматом от админа.
2. Пользователь видит его в списке недавних контактов
3. Он отвечает админу "Спасибо"
4. Админ в списке недавних контактов не видит его ответ. (только панелька мигает или всплывает предупреждение)
Это происходит (если я не ошибся) потому как в pluginswp-recalladd-onmessageindex.php идет проверка на существование переменной, а проверяется не две строки а одна
$status = $wpdb->get_var($wpdb->prepare("SELECT status FROM ".RCL_PREF."private_contacts WHERE user = '%d' AND contact = '%d'",$author,$addressat)); if(!$status){ ...тут дальше она инсертит в таблицу rcl_private_contacts две строки
Одна строка контакт админа с юзером, вторая строка контакт юзера с админом
Мое же дополнение вставляет только один контакт юзер - админ
Если я буду при отсылке приветственного сообщения инсертить две строки в контакты - то у админа в списке контактов будут отображаться эти сообщения. А они ему как бы не нужны.
Вот мои два варианта:
1. Пока вот и думаю за что зацепиться чтобы при ответе юзера - вставлять в таблицу вторую строчку контакта - и тогда в списке контактов админ будет видеть этого пользователя.
Почему после ответа пользователя - это логично - с админом хотят общаться.
2.Если пользователь получает сообщение, не отвечает админу, а я вставляю в таблицу контактов две строки - то у админа будет засрано все с кем он общался - не хочется эти автоприветствия без обратного диалога выводить
но если в всплывающем окне админ ответит на сообщение "спасибо" от пользователя - то в бд инсертятся две строчки контактов и в списке недавних контактов уже все нормально
это обычное поведение для дополнения сообщений, твое дополнение ни при чем.
Контакт добавляет только в случае, если сам написал или ответил на сообщение, если только просмотрел, но оставил без ответа, то контакт не создается.
Приветствие не должно само по себе добавлять контакт админу, тут все верно.
Проверил
На самом деле все не так
Контакт добавляется всегда обоим, когда или админ или пользователь (хоть кто-то один из них) написал сообщение другому
Используя мое дополнение, только после ответа админом добавляется контакт:
По шагам:
1. автоматически, от лица админа, сообщение пользователю - контакт добавляется только пользователю
2. Когда пользователь на него отвечает - не добавляется контакт
3. А вот третий шаг - когда админ отвечает пользователю создается в бд 2 строки
Вот у меня вопрос - как зацепиться после выполнения второго шага - чтобы я дописал в бд строчку - контакт админа с пользователем?
Я буду проверять - есть 2 строчки в бд контактов - нет инсерта. Одна строчка (односторонний контакт) - insert строки другого контакта
Как я написал выше: после 1-го шага я вставляю одну строчку в контакты. Если вставлю вторую (кнтакт админа с пользователем) - то это засрет недавние сообщения у админа (имею ввиду вот этот список
)
Как вставить я знаю.
А вот к чему зацепиться - к какому событию - после выполнения 2го пункта - чтобы запустить проверку и вставить строку?
upd.
Нашел
do_action('rcl_new_private_message', $addressat, $user_ID);работает.
Теперь дело за условиями. Завтра подумаю при каких вариантах запускать функцию на добавление одной строки в базу.
p.s. развели демагогию в чужой теме ))