WP Manifestindependent plugin directory
manifest / integrations / wp-wechat-sync

WP WeChat Sync (微信公众号文章同步助手)

WordPress 文章自动同步到微信公众号草稿箱插件,支持正文图片转存微信永久 CDN、封面智能提取与日志排查。

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/lichengcheng0420/wp-wechat-sync/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

为 WordPress 打造的微信公众号文章同步插件。在 WordPress 中撰写或发布的文章可自动或一键同步到微信公众平台草稿箱(或直接公开发布)。


主要特性

  1. 对接微信官方最新草稿箱接口:采用官方推荐的 cgi-bin/draft/add 接口,同步后可在微信公众平台后台预览、排版微调、群发或定时发布。
  2. 正文图片自动转存微信永久 CDN:自动提取文章中的所有 <img> 本地及外链图片,调用微信 cgi-bin/media/uploadimg 接口转存至微信 CDN 并替换链接,彻底解决微信文章外链防盗链及图片裂图问题;支持本地 CDN 映射缓存,避免重复上传。
  3. 封面图智能提取:按优先级自动提取:文章特色图像(Featured Image) > 正文第一张图 > 全局默认封面图,自动上传永久素材库获取 thumb_media_id。
  4. 服务器公网出口 IP 自动识别:微信公众平台强制校验调用方 IP 白名单。插件在后台直观展示当前服务器公网出口 IP,支持一键复制,避免配置白名单时盲猜 IP。
  5. API 连接一键测试:在插件后台填写 AppID 和 AppSecret 后,可直接点击“测试 API 连接”,实时校验凭据有效性与 IP 白名单配置,提供清晰的中文错误指引。
  6. 文章编辑页侧边栏组件:
    • 实时显示文章同步状态(未同步 / 已同步至草稿箱 / 同步时间 / 草稿 ID)。
    • 提供“立即同步到公众号” AJAX 按钮,无需重新保存文章即可手动一键同步。
    • 支持文章级别的自定义微信作者、自定义微信摘要(自动限制 120 字)、禁止自动同步开关。
  7. 文章列表页快捷状态展示:在后台文章列表(wp-admin/edit.php)增加“微信同步”状态列,直观显示已同步状态及快捷“同步/重试”链接。
  8. 详细日志追踪与排查:记录最近 50 条同步历史(包含自动同步、手动同步、测试连接的请求与返回详情),方便快速排查异常。

安装与使用指引

1. 启用插件

进入 WordPress 后台 -> 插件 -> 已安装插件,找到 WP WeChat Sync (微信公众号文章同步助手) 并点击 启用。

2. 获取微信开发者平台凭据与配置 IP 白名单

  1. 登录 微信开发者平台(或 微信公众平台)。
  2. 选择对应公众号,进入 “基础信息” 页面。
  3. 在 “开发密钥” 区域:
    • 复制 开发者ID (AppID)。
    • 点击 重置 开发者密码获取 AppSecret 并妥善保存。
    • 在 API IP白名单 点击 编辑,将 WordPress 插件后台提示的 当前服务器公网出口 IP 粘贴加入,管理员扫码确认保存。

4. 插件配置与测试

  1. 在 WordPress 后台 设置 -> 微信同步 中,填写 AppID 和 AppSecret。
  2. 点击 测试 API 连接,确认显示“连接成功!已顺利获取到 Access Token”。
  3. 根据需要配置:
    • 同步目标:推荐选择“同步至草稿箱”。
    • 自动同步开关:发布新文章时是否自动同步。
    • 全局默认封面:选择一张默认图片作为保底封面(微信图文必须有封面)。
    • 原文链接与版权:开启微信底部的“阅读原文”直达 WordPress 原文。
  4. 点击 保存设置。

5. 开始同步文章

  • 自动同步:撰写新文章并点击“发布”时,插件将自动转存图片并推送到微信公众平台草稿箱。
  • 手动同步:在文章编辑页右侧侧边栏“微信公众号同步”面板中,点击 立即同步到公众号 即可。

目录结构

wp-content/plugins/wp-wechat-sync/
├── wp-wechat-sync.php                 # 插件入口主文件
├── README.md                          # 插件说明文档
├── includes/
│   ├── class-wechat-api.php           # 微信官方接口封装与错误码中文化
│   ├── class-post-sync.php            # 文章内容转换、图片转存与同步核心逻辑
│   ├── class-admin-settings.php       # 后台设置页面与 AJAX 处理器
│   ├── class-meta-box.php             # 文章编辑页侧边栏组件与列表列
│   └── class-sync-logger.php          # 同步历史与错误日志记录器
└── assets/
    ├── css/admin.css                  # 后台美化样式表
    └── js/admin.js                    # 设置页与编辑页交互脚本

更新日志

v1.0.9 (2026-09-08)

  • 微信图文列表排版彻底重构(对齐 秀米/135/Doocs 微信工业级规范):
    • 列表扁平化段落渲染(<section> + <p>):彻底解决微信 UEditor 解析内核对 <li> 列表项内多标签混排时的“数字单独一行”、“冒号单独一行”、“项目圆点单独一行”等异常断行分段顽疾。将原生 <ul>/<ol> 转换为微信富文本生态兼容性最高的 <p> 段落结构,确保在 iOS/Android/Mac/PC 各版本微信客户端 100% 紧密连贯、绝不产生任何怪异分行。
    • 多级嵌套列表层级缩进:对二级或多级列表项采用 margin-left 精确缩进,层次分明,排版优雅清爽。
    • Markdown 语法与标点粘连优化:
      • 针对从 GitHub 或外部粘贴正文时混入的 Markdown 粗体语法(如 **文字**),自动平滑转换为原生 <strong>文字</strong> 标签。
      • 严格清除加粗标题与后随冒号(:、:)之间的换行与空格,确保标题与冒号紧密结合在一行显示。
      • 自动清理段落内部空占位符与孤立段落标签。

v1.0.8 (2026-09-08)

  • 解决微信同步“丢失文字与编号”排版顽疾:
    • 有序列表(<ol>)原生实体编号:突破微信图文自带全局 CSS (ol, ul, li { list-style: none !important; }) 抹除自动编号的限制,通过 DOM 解析全自动为每一个列表项注入独立样式的实体数字序号(1., 2....),并在已有手动编号时智能去重,确保在任何微信客户端均 100% 显式呈现序号,复制与阅读绝不丢失。
    • 无序列表(<ul>)实体项目符号:自动注入醒目的实体圆点符号(•),并针对多级嵌套列表优化左侧缩进层级。
    • 列表项内段落(<p>)平滑内联:当列表项内包含 <p> 标签时,自动设为 display: inline,防止序号与文本发生意外分行错位。
  • 多行代码块(<pre><code>)排版强化:
    • 彻底解决微信草稿箱接口与富文本编辑器过滤多行代码换行符 \n 导致整段代码与目录树折叠压成一行的致命问题。
    • 显式将代码换行转换为标准 <br/>,并将缩进与对齐空格转换为实体 &nbsp;,同时赋予 white-space: pre-wrap !important; word-wrap: break-word !important; 样式,保证目录结构、代码缩进及高亮块在微信中原样整齐排版。
  • 行内标签与换行规整:
    • 清理行内加粗(<strong>)及行内代码(<code>)两端的非预期换行与中文标点间隙,避免微信图文将行内词句切断为散落的多行碎文本。

v1.0.7 (2026-09-08)

  • 微信 45166 错误深度根治:
    • 针对正文严格禁止使用 <h1> 标签的官方规范,增加 <h1> 自动降级至合规 <h2> 大标题机制。
    • 全局清洗所有 HTML 标签上的 tabindex、dir、role、lang、id、aria-* 以及非标准 data-* 属性,杜绝交互式干扰属性引起微信解析异常。
    • 深度清理复制粘贴来源(如 GitHub README)特有的剪贴板容器辅助元素(zeroclipboard-container)及多余的标题包装层。
    • 递归清理空白无内容的容器标签(空 div、空 p 等)与标题后孤立的 &nbsp;。
    • 完善自闭合标签(如 <hr />)的内联样式注入逻辑,防止生成非法属性格式。
    • 图片清洗兜底防护:若有正文图片未能成功转存至微信 CDN,自动剔除无效图片标签,保证文章整体顺利推送。
  • 排版增强:
    • 代码块与行内 <code> 样式隔离保护,提供更加优美清爽的微信图文阅读排版。

版权与技术支持