fix(paradiz-web): show chat widget for guests without login
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
/**
|
/**
|
||||||
* Plugin Name: Paradiz Web Chat
|
* Plugin Name: Paradiz Web Chat
|
||||||
* Description: Чат-плагин для сайта vparadize.ru, который отправляет вопросы в изолированного агента OpenClaw paradizweb.
|
* Description: Чат-плагин для сайта vparadize.ru, который отправляет вопросы в изолированного агента OpenClaw paradizweb.
|
||||||
* Version: 1.0.0
|
* Version: 1.0.4
|
||||||
* Author: EVA
|
* Author: EVA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -12,11 +12,14 @@ class ParadizWebChat {
|
|||||||
const OPT_ENDPOINT = 'paradizweb_endpoint';
|
const OPT_ENDPOINT = 'paradizweb_endpoint';
|
||||||
const OPT_TOKEN = 'paradizweb_token';
|
const OPT_TOKEN = 'paradizweb_token';
|
||||||
|
|
||||||
|
private $widget_rendered = false;
|
||||||
|
|
||||||
public function __construct() {
|
public function __construct() {
|
||||||
add_action('admin_menu', [$this, 'admin_menu']);
|
add_action('admin_menu', [$this, 'admin_menu']);
|
||||||
add_action('admin_init', [$this, 'register_settings']);
|
add_action('admin_init', [$this, 'register_settings']);
|
||||||
add_shortcode('paradiz_web_chat', [$this, 'render_shortcode']);
|
add_shortcode('paradiz_web_chat', [$this, 'render_shortcode']);
|
||||||
add_action('wp_enqueue_scripts', [$this, 'enqueue_assets']);
|
add_action('wp_enqueue_scripts', [$this, 'enqueue_assets']);
|
||||||
|
add_action('wp_footer', [$this, 'render_global_widget']);
|
||||||
add_action('wp_ajax_paradiz_web_chat', [$this, 'handle_chat']);
|
add_action('wp_ajax_paradiz_web_chat', [$this, 'handle_chat']);
|
||||||
add_action('wp_ajax_nopriv_paradiz_web_chat', [$this, 'handle_chat']);
|
add_action('wp_ajax_nopriv_paradiz_web_chat', [$this, 'handle_chat']);
|
||||||
}
|
}
|
||||||
@@ -62,7 +65,25 @@ class ParadizWebChat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function render_shortcode() {
|
public function render_shortcode() {
|
||||||
|
return $this->render_widget_markup();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render_global_widget() {
|
||||||
|
if (is_admin() || wp_doing_ajax() || $this->widget_rendered) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $this->render_widget_markup();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function render_widget_markup() {
|
||||||
|
if ($this->widget_rendered) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->widget_rendered = true;
|
||||||
wp_enqueue_script('paradiz-web-chat');
|
wp_enqueue_script('paradiz-web-chat');
|
||||||
|
|
||||||
ob_start(); ?>
|
ob_start(); ?>
|
||||||
<style>
|
<style>
|
||||||
#paradiz-web-chat-fab {
|
#paradiz-web-chat-fab {
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
- 19:30 МСК — новое операционное правило от Виталия: его сообщения по бухгалтерии трактовать как подтверждённый факт прихода (если не указано иное).
|
- 19:30 МСК — новое операционное правило от Виталия: его сообщения по бухгалтерии трактовать как подтверждённый факт прихода (если не указано иное).
|
||||||
- 19:36 МСК — зафиксирован приход за январь: 180 000 ₽ (аренда помещения).
|
- 19:36 МСК — зафиксирован приход за январь: 180 000 ₽ (аренда помещения).
|
||||||
- 21:36 МСК — добавлено новое правило для `paradiz`: в начале диалога обязательно сообщать, что отвечает ИИ-агент по бронированию; при запросе живого менеджера — уточнять контакт и канал связи, отправлять уведомление Виталию в Telegram.
|
- 21:36 МСК — добавлено новое правило для `paradiz`: в начале диалога обязательно сообщать, что отвечает ИИ-агент по бронированию; при запросе живого менеджера — уточнять контакт и канал связи, отправлять уведомление Виталию в Telegram.
|
||||||
|
- 21:40 МСК — обновлён WordPress-плагин `paradiz-web-chat`: виджет чата теперь рендерится глобально через `wp_footer` для всех посетителей (включая неавторизованных), с защитой от дублей.
|
||||||
- 08:49 МСК — повторная оптимизация контекста: профиль подтверждён и точечно уточнён (календарная синхронизация Google ↔ Nextcloud), лишний шум не добавлялся, секреты не включались.
|
- 08:49 МСК — повторная оптимизация контекста: профиль подтверждён и точечно уточнён (календарная синхронизация Google ↔ Nextcloud), лишний шум не добавлялся, секреты не включались.
|
||||||
- 11:49 МСК — выполнена плановая оптимизация: `memory/ops-profile.md` обновлён по устойчивым настройкам (добавлен бухконтур по умолчанию: УСН 6% без сотрудников), шум из оперативного контекста убран, секреты не включались.
|
- 11:49 МСК — выполнена плановая оптимизация: `memory/ops-profile.md` обновлён по устойчивым настройкам (добавлен бухконтур по умолчанию: УСН 6% без сотрудников), шум из оперативного контекста убран, секреты не включались.
|
||||||
- 14:49 МСК — повторная оптимизация: профиль очищен от шума и уточнён стабильным правилом по общим чатам (отвечать только при прямом обращении), секреты не добавлялись.
|
- 14:49 МСК — повторная оптимизация: профиль очищен от шума и уточнён стабильным правилом по общим чатам (отвечать только при прямом обращении), секреты не добавлялись.
|
||||||
|
|||||||
Reference in New Issue
Block a user