- 作者帖子
WPCommunity Shortlink 主题组件使用指南
组件概述
WPCommunity Shortlink 是一个 Discourse 主题组件,让用户可以在话题页面一键获取和复制短链接。配合 WordPress 端的短链接插件使用,为社区成员提供便捷的内容分享体验。
功能特点
一键获取短链接- 在话题底部显示 「短链接」 按钮
- 点击后弹出模态框,显示短链接
- 一键复制到剪贴板
智能显示- 显示格式:
wpcy.com/t/123(不含 https://) - 复制内容:
https://wpcy.com/t/123(完整 URL) - 复制反馈:按钮文字变为 「已复制 ✓」
多语言支持- 内置中英文界面
- 自动适配用户语言偏好
安装方式
方式一:从 Git 仓库安装 (推荐)
- 进入 Discourse 管理后台
- 导航到 外观 → 主题
- 点击 安装 → 从 Git 仓库
- 输入仓库地址:
https://github.com/Cyberforums/discourse-shortlink-component - 点击 「安装」
方式二:上传 ZIP 文件
- 下载组件 ZIP 包
- 进入 Discourse 管理后台
- 导航到 外观 → 主题
- 点击 安装 → 从本地文件
- 选择 ZIP 文件上传
启用组件
安装后,需要将组件添加到当前使用的主题:
- 在主题列表中找到您的活动主题
- 点击进入主题设置
- 在 「组件」 区域,点击 「添加组件」
- 选择 「WPCommunity Shortlink 」
- 保存更改
组件设置
设置项 默认值 说明 short_domainwpcy.com短链接域名,将用于生成短链接 修改设置
- 进入 外观 → 主题
- 找到并点击 「WPCommunity Shortlink 」组件
- 在 「设置」 标签页修改配置
- 保存更改
使用方法
获取话题短链接
- 打开任意话题页面
- 滚动到话题底部
- 找到 「短链接」 按钮 (链接图标)
- 点击按钮
- 在弹出的模态框中,点击 「复制」 按钮
- 短链接已复制到剪贴板,可直接粘贴分享
短链接格式
组件生成的短链接格式为:
https://wpcy.com/t/话题 ID例如,话题 ID 为 123 的短链接是:
https://wpcy.com/t/123界面展示
话题底部按钮
在话题底部的操作栏中,会显示一个链接图标按钮,悬停时显示 「获取本话题短链接」 提示。
模态框
点击按钮后弹出模态框,包含:
- 标题:话题短链接
- 输入框:显示短链接 (只读)
- 复制按钮:点击复制到剪贴板
- 关闭按钮:关闭模态框
技术架构
文件结构
discourse-shortlink-component/ ├── about.json # 组件元数据 ├── settings.yml # 配置选项 ├── README.md # 说明文档 ├── LICENSE # MIT 许可证 ├── common/ │ └── common.scss # 样式 └── javascripts/discourse/ ├── api-initializers/ │ └── shortlink-button.js # 主入口 & 翻译注入 └── components/ ├── shortlink-footer-button.js # 底部按钮逻辑 ├── shortlink-footer-button.hbs # 底部按钮模板 ├── post-shortlink-button.gjs # 帖子内按钮 └── modal/ └── shortlink-modal.gjs # 弹窗组件技术栈
- Glimmer Components:使用 Discourse 最新的
.gjs格式 - Ember.js:底层框架
- Discourse Plugin API:v0.11.1+
兼容性
项目 版本 Discourse 最低版本 3.6.0 Discourse 测试版本 2026.1.0 与 WordPress 插件配合
本组件生成的短链接需要配合 WordPress 端的短链接插件使用:
- Discourse 端(本组件):生成短链接
- WordPress 端(discourse-shortlinks.php):处理重定向
工作流程:
用户复制 wpcy.com/t/123 ↓ 用户分享给他人 ↓ 他人访问 wpcy.com/t/123 ↓ WordPress 插件处理请求 ↓ 301 重定向到 wpcommunity.com/t/-/123 ↓ 打开 Discourse 话题页面常见问题
Q: 按钮不显示?
A: 请检查:
- 组件是否已添加到当前主题
- 尝试硬刷新页面 (Ctrl+Shift+R)
- 检查浏览器控制台是否有错误
Q: 复制功能不工作?
A: 可能原因:
- 浏览器不支持 Clipboard API(需要 HTTPS)
- 浏览器拦截了剪贴板访问
- 尝试手动选择文本复制
Q: 如何自定义域名?
A: 修改组件设置中的
short_domain值,记得同时更新 WordPress 端的配置。Q: 匿名用户能看到按钮吗?
A: 是的,所有用户 (包括未登录的访客) 都可以看到并使用短链接功能。
更新组件
从 Git 仓库更新
- 进入 外观 → 主题
- 找到 「WPCommunity Shortlink 」组件
- 点击 「检查更新」 按钮
- 如有更新,点击 「更新」
手动更新
- 删除当前组件
- 重新从 Git 仓库安装
开发与贡献
本地开发
# 克隆仓库 git clone https://github.com/Cyberforums/discourse-shortlink-component # 修改代码后推送 git add . git commit -m "feat: 新功能描述" git push origin main在 Discourse 中测试
- 安装组件 (使用 Git 仓库方式)
- 修改代码并推送
- 在 Discourse 后台点击 「检查更新」
- 应用更新并刷新页面
版本历史
- v1.0.0 – 初始发布
- 话题底部短链接按钮
- 模态框显示和复制功能
- 中英文界面支持
作者:WPCommunity / Cyberforums
开源协议:MIT
GitHub:discourse-shortlink-component- 作者帖子
Cyberforums · 原文 · Markdown
想回复或继续讨论?请到 Cyberforums 赛博论坛参与。
参与讨论 / 回复