网页聊天挂件
前置条件
使用挂件之前,请确保具备以下条件:
- 完成 vocechat 的部署(部署流程请参考:安装部署 VoceChat)
- 域名支持 https (如果挂载的宿主网页没有使用 https,可以使用 http)
- 完成 vocechat 的初始化流程
- 允许公共注册(Setting --> Overview)
使用 widget
以部署实例域名为https://vocechat.yourdomain.com
为例:
<!-- 将以下代码片段放于你的网页内,建议放于 body 底部 -->
<script
data-host-id="1"
data-auto-reg="true"
data-login-token=""
data-close-width="52"
data-close-height="52"
data-open-width="380"
data-open-height="680"
data-position="right"
data-welcome="自定义欢迎语"
data-theme-color="#1fe1f9"
data-logo="https://yourimage.link/icon.jpg"
src="https://vocechat.yourdomain.com/widget.js"
async
></script>
配置项说明:
配置键 | 默认值 | 备注 |
---|---|---|
id | "" | 指定挂件 ID |
host-id | 1 | 指定访客和谁聊天 |
auto-reg | true | true: 访客自动注册,无需任何输入项,false: 需要输入邮箱地址 |
login-token | ""(空字符串) | 用自有平台账号系统自动登录 Voce 的 token。如非对接自有平台请不要填写,对接方式详见:第三方登录 |
title | 弹窗标题 | 聊天弹窗顶部自定义标题 |
logo | logo 图片 URL | 聊天弹窗顶部自定义 logo 图标地址 |
theme-color | #1fe1f9 | 挂件主题色 |
close-width | 52(px) | 挂件关闭态的宽度 |
close-height | 52(px) | 挂件关闭态的高度 |
open-width | 380(px) | 挂件打开态的宽度 |
open-height | 680(px) | 挂件打开态的高度 |
position | right | 挂件的位置,居左 (left) 或居右 (right) |
welcome | 你好,很高兴认识你 | 自定义欢迎语,可包含 html 代码片段,比如加个超链接代码:<a href="mailto:co tact@example.com">联系我</a>,或者图片<img src="xxx"/> |
* 所有的配置项目都是可选的,并以data-开头 |
如果你想更精确控制挂件的样式,可以借助 widget 元素的 ID,自行写 CSS 样式,加到自己的 html 或者 css 文件中,如下示例:
<style>
#VOCECHAT_WIDGET {
left:10px /* left position */
bottom: 5px /* bottom position */
}
</style>
WordPress 中使用 VoceChat Widget
方法一:通过主题文件集成(推荐)
这是最稳定的集成方式,适合有一定技术基础的用户。
1. 编辑主题文件
- 登录 WordPress 后台
- 进入 外观 > 主题编辑器
- 选择当前激活的主题
- 找到并编辑
footer.php
文件
2. 添加 Widget 代码
在 footer.php
文件的 </body>
标签前添加以下代码:
<?php if (!is_admin()) : ?>
<script
data-host-id="1"
data-auto-reg="true"
data-login-token=""
data-close-width="52"
data-close-height="52"
data-open-width="380"
data-open-height="680"
data-position="right"
data-welcome="欢迎咨询,我们将尽快回复您!"
data-theme-color="#1fe1f9"
data-logo="<?php echo get_site_icon_url(); ?>"
src="https://vocechat.yourdomain.com/widget.js"
async
></script>
<?php endif; ?>
注意事项:
- 将
https://vocechat.yourdomain.com
替换为您的 VoceChat 实例域名 <?php if (!is_admin()) : ?>
确保挂件只在前端显示,不在后台显示<?php echo get_site_icon_url(); ?>
自动使用网站的 favicon 作为挂件图标
方法二:使用插件集成
1. Insert Headers and Footers 插件
- 安装并启用 "Insert Headers and Footers" 插件
- 进入 设置 > Insert Headers and Footers
- 在 "Scripts in Footer" 部分添加 Widget 代码:
<script>
// 确保只在前端页面加载
if (!document.body.classList.contains("wp-admin")) {
var script = document.createElement("script");
script.setAttribute("data-host-id", "1");
script.setAttribute("data-auto-reg", "true");
script.setAttribute("data-login-token", "");
script.setAttribute("data-close-width", "52");
script.setAttribute("data-close-height", "52");
script.setAttribute("data-open-width", "380");
script.setAttribute("data-open-height", "680");
script.setAttribute("data-position", "right");
script.setAttribute("data-welcome", "欢迎咨询,我们将尽快回复您!");
script.setAttribute("data-theme-color", "#1fe1f9");
script.src = "https://vocechat.yourdomain.com/widget.js";
script.async = true;
document.body.appendChild(script);
}
</script>
2. Code Snippets 插件
- 安装并启用 "Code Snippets" 插件
- 进入 Snippets > Add New
- 创建新的代码片段:
/**
* 添加 VoceChat Widget
*/
function add_vocechat_widget() {
// 只在前端显示
if (is_admin()) return;
?>
<script
data-host-id="1"
data-auto-reg="true"
data-login-token=""
data-close-width="52"
data-close-height="52"
data-open-width="380"
data-open-height="680"
data-position="right"
data-welcome="欢迎咨询,我们将尽快回复您!"
data-theme-color="#1fe1f9"
data-logo="<?php echo get_site_icon_url(); ?>"
src="https://vocechat.yourdomain.com/widget.js"
async
></script>
<?php
}
add_action('wp_footer', 'add_vocechat_widget');
方法三:通过 functions.php 添加
如果您熟悉 WordPress 开发,可以直接在主题的 functions.php
文件中添加:
// 添加 VoceChat Widget
function add_vocechat_widget() {
// 只在前端显示,排除管理员页面
if (is_admin()) return;
?>
<script
data-host-id="1"
data-auto-reg="true"
data-login-token=""
data-close-width="52"
data-close-height="52"
data-open-width="380"
data-open-height="680"
data-position="right"
data-welcome="有什么可以帮助您的吗?"
data-theme-color="#1fe1f9"
data-logo="<?php echo get_site_icon_url(); ?>"
src="https://vocechat.yourdomain.com/widget.js"
async
></script>
<?php
}
add_action('wp_footer', 'add_vocechat_widget');
WordPress 特定配置建议
1. 响应式设计优化
针对 WordPress 主题的响应式特性,建议添加以下 CSS:
/* 移动端优化 */
@media (max-width: 768px) {
#VOCECHAT_WIDGET {
right: 10px !important;
bottom: 60px !important; /* 避免与移动端菜单冲突 */
}
}
/* 避免与固定元素冲突 */
#VOCECHAT_WIDGET {
z-index: 9999 !important;
}
2. 性能优化
为了提高页面加载速度,可以延迟加载 Widget:
// 页面加载完成后再加载 Widget
window.addEventListener("load", function () {
setTimeout(function () {
var script = document.createElement("script");
script.setAttribute("data-host-id", "1");
script.setAttribute("data-auto-reg", "true");
script.setAttribute("data-welcome", "欢迎咨询!");
script.src = "https://vocechat.yourdomain.com/widget.js";
script.async = true;
document.body.appendChild(script);
}, 2000); // 延迟 2 秒加载
});
3. 条件显示
可以设置 Widget 只在特定页面显示:
function add_vocechat_widget() {
// 只在前端显示
if (is_admin()) return;
// 只在首页和联系页面显示
if (!is_home() && !is_page('contact')) return;
// Widget 代码...
}
常见问题解决
1. Widget 不显示
- 检查 VoceChat 域名是否正确
- 确认 VoceChat 服务是否正常运行
- 检查浏览器控制台是否有错误信息
2. 样式冲突
- 使用浏览器开发者工具检查 CSS 冲突
- 添加
!important
优先级 - 调整
z-index
层级
3. 移动端显示问题
- 测试不同屏幕尺寸
- 添加响应式 CSS
- 调整 Widget 位置参数
最佳实践
- 备份网站:修改主题文件前务必备份
- 使用子主题:避免主题更新时丢失自定义代码
- 测试兼容性:在不同设备和浏览器上测试
- 监控性能:确保 Widget 不影响页面加载速度
- 用户体验:合理设置欢迎语和样式,提升用户体验
分享链接,直接对话
Widget 支持嵌入的同时,也支持直接链接访问,还是以部署实例域名为https://vocechat.yourdomain.com
为例,该 Widget 直接访问的地址为:
https://vocechat.yourdomain.com/widget.html?host=1
。
线上实例
柴柴的个人博客
- vocechat: https://chat.cqucc4433.top/
- vocechat widget: https://chaichaisocute.top/
杨二的个人站点
- vocechat: https://vocechat.yangerxiao.com/
- vocechat widget: https://yangerxiao.com/
石磊的个人站点
- vocechat: https://vc.moduoyu.com/
- vocechat widget: https://laoona.com/
Tom 的个人小站
- vocechat: https://vocechat.tomzhu.site/
- vocechat widget: https://tomzhu.site/
👏🏻👏🏻👏🏻
欢迎联系我们贡献线上实例