WPCommunity Shortlink 主题组件使用指南

·0 次浏览
  • 作者
    帖子
  • 诗语@feibisi
    楼主

    WPCommunity Shortlink 主题组件使用指南

    组件概述

    WPCommunity Shortlink 是一个 Discourse 主题组件,让用户可以在话题页面一键获取和复制短链接。配合 WordPress 端的短链接插件使用,为社区成员提供便捷的内容分享体验。

    功能特点

    :link: 一键获取短链接

    • 在话题底部显示 「短链接」 按钮
    • 点击后弹出模态框,显示短链接
    • 一键复制到剪贴板

    :clipboard: 智能显示

    • 显示格式:wpcy.com/t/123(不含 https://)
    • 复制内容:https://wpcy.com/t/123(完整 URL)
    • 复制反馈:按钮文字变为 「已复制 ✓」

    :globe_with_meridians: 多语言支持

    • 内置中英文界面
    • 自动适配用户语言偏好

    安装方式

    方式一:从 Git 仓库安装 (推荐)

    1. 进入 Discourse 管理后台
    2. 导航到 外观 → 主题
    3. 点击 安装 → 从 Git 仓库
    4. 输入仓库地址:
      https://github.com/Cyberforums/discourse-shortlink-component
      
    5. 点击 「安装」

    方式二:上传 ZIP 文件

    1. 下载组件 ZIP 包
    2. 进入 Discourse 管理后台
    3. 导航到 外观 → 主题
    4. 点击 安装 → 从本地文件
    5. 选择 ZIP 文件上传

    启用组件

    安装后,需要将组件添加到当前使用的主题:

    1. 在主题列表中找到您的活动主题
    2. 点击进入主题设置
    3. 在 「组件」 区域,点击 「添加组件」
    4. 选择 「WPCommunity Shortlink 」
    5. 保存更改

    组件设置

    设置项 默认值 说明
    short_domain wpcy.com 短链接域名,将用于生成短链接

    修改设置

    1. 进入 外观 → 主题
    2. 找到并点击 「WPCommunity Shortlink 」组件
    3. 在 「设置」 标签页修改配置
    4. 保存更改

    使用方法

    获取话题短链接

    1. 打开任意话题页面
    2. 滚动到话题底部
    3. 找到 「短链接」 按钮 (链接图标)
    4. 点击按钮
    5. 在弹出的模态框中,点击 「复制」 按钮
    6. 短链接已复制到剪贴板,可直接粘贴分享

    短链接格式

    组件生成的短链接格式为:

    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 端的短链接插件使用:

    1. Discourse 端(本组件):生成短链接
    2. WordPress 端(discourse-shortlinks.php):处理重定向

    工作流程:

    用户复制 wpcy.com/t/123
            ↓
    用户分享给他人
            ↓
    他人访问 wpcy.com/t/123
            ↓
    WordPress 插件处理请求
            ↓
    301 重定向到 wpcommunity.com/t/-/123
            ↓
    打开 Discourse 话题页面
    

    常见问题

    Q: 按钮不显示?

    A: 请检查:

    1. 组件是否已添加到当前主题
    2. 尝试硬刷新页面 (Ctrl+Shift+R)
    3. 检查浏览器控制台是否有错误

    Q: 复制功能不工作?

    A: 可能原因:

    1. 浏览器不支持 Clipboard API(需要 HTTPS)
    2. 浏览器拦截了剪贴板访问
    3. 尝试手动选择文本复制

    Q: 如何自定义域名?

    A: 修改组件设置中的 short_domain 值,记得同时更新 WordPress 端的配置。

    Q: 匿名用户能看到按钮吗?

    A: 是的,所有用户 (包括未登录的访客) 都可以看到并使用短链接功能。

    更新组件

    从 Git 仓库更新

    1. 进入 外观 → 主题
    2. 找到 「WPCommunity Shortlink 」组件
    3. 点击 「检查更新」 按钮
    4. 如有更新,点击 「更新」

    手动更新

    1. 删除当前组件
    2. 重新从 Git 仓库安装

    开发与贡献

    本地开发

    # 克隆仓库
    git clone https://github.com/Cyberforums/discourse-shortlink-component
    
    # 修改代码后推送
    git add .
    git commit -m "feat: 新功能描述"
    git push origin main
    

    在 Discourse 中测试

    1. 安装组件 (使用 Git 仓库方式)
    2. 修改代码并推送
    3. 在 Discourse 后台点击 「检查更新」
    4. 应用更新并刷新页面

    版本历史

    • v1.0.0 – 初始发布
      • 话题底部短链接按钮
      • 模态框显示和复制功能
      • 中英文界面支持

    作者:WPCommunity / Cyberforums
    开源协议:MIT
    GitHub:discourse-shortlink-component

Cyberforums · 原文 · Markdown

想回复或继续讨论?请到 Cyberforums 赛博论坛参与。

参与讨论 / 回复