El problema
El plugin Collect.chat – Chatbot (v2.5.1) muestra en el panel de administración este aviso:
El chatbot está correctamente instalado y configurado. El sitio en cuestión es una intranet privada, bloqueada a usuarios externos y a motores de búsqueda.Add chatbot snippet to continue
Oops! It appears that your Collect.chat chatbot is not configured correctly.
Diagnóstico
Revisando el código del plugin (collect.php), el aviso se genera en la función collectchat_settings_message(), enganchada al hook admin_notices:
Código: Seleccionar todo
add_action('admin_notices', array($this, 'collectchat_settings_message'));Aun así, el snippet del chatbot está correctamente guardado, así que el aviso es un falso positivo: probablemente ligado a cómo el plugin o su panel de control en la nube interpretan la actividad del sitio, algo que en una intranet bloqueada al exterior nunca podrá completarse con normalidad. Sea cual sea la causa exacta en el lado de Collect.chat, la solución práctica es la misma: el sitio funciona bien, así que lo correcto es ocultar el aviso, no perseguir una "configuración" que no hace falta.
Opciones evaluadas
- Comentar el bloque HTML en collect.php — no persiste tras actualizar el plugin, complejidad muy baja
- Snippet PHP con remove_action (recomendada) — persiste tras actualizar el plugin, complejidad baja
En collect.php, dentro de collectchat_settings_message(), se puede comentar el bloque que imprime el <div class="notice notice-error">. Es un cambio seguro: esa función no interviene en absoluto en wp_head(), que es la que realmente inserta el widget del chatbot en el frontend. Ambas funciones solo comparten la lectura de la misma opción guardada, pero no dependen la una de la otra.
El inconveniente es que collect.php es un archivo del propio plugin: la próxima actualización lo sobrescribirá y el aviso volverá a aparecer.
Opción B — Snippet independiente (recomendada)
El plugin registra el callback del aviso como método de un objeto:
Código: Seleccionar todo
add_action('admin_notices', array($this, 'collectchat_settings_message'));
...
$scripts = new ScriptLoader();Código: Seleccionar todo
add_action('admin_notices', function () {
global $scripts;
if (isset($scripts) && $scripts instanceof ScriptLoader) {
remove_action('admin_notices', array($scripts, 'collectchat_settings_message'), 10);
}
}, 1);VerificaciónConfiguración en Woody Code Snippets escribió:
- Where to execute the code: Run everywhere. El snippet engancha lógica al hook admin_notices en cada carga del panel de administración, no es contenido para insertar vía shortcode en una entrada o página concreta.
- Description: una nota breve, por ejemplo: "Oculta el aviso de configuración de Collect.chat — falso positivo, el chatbot funciona correctamente en la intranet".
- Available attributes: se deja vacío; solo aplica a snippets insertados como shortcode con parámetros variables.
- El aviso de error de Collect.chat desaparece del panel de administración.
- El resto de avisos del plugin (por ejemplo, la petición de valoración a los 7 días de uso) se mantienen intactos, ya que el remove_action apunta específicamente al método collectchat_settings_message.
- El widget del chatbot sigue cargándose con normalidad en el frontend de la intranet, sin cambios.