manifest / integrations / wp-wechat-sync
WP WeChat Sync (微信公众号文章同步助手)
WordPress 文章自动同步到微信公众号草稿箱插件,支持正文图片转存微信永久 CDN、封面智能提取与日志排查。
by 李成成的博客 (LiChengCheng) · github.com/lichengcheng0420/wp-wechat-sync · website
★ 0stars
0forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/lichengcheng0420/wp-wechat-sync/archive/refs/heads/main.zip为 WordPress 打造的微信公众号文章同步插件。在 WordPress 中撰写或发布的文章可自动或一键同步到微信公众平台草稿箱(或直接公开发布)。
主要特性
- 对接微信官方最新草稿箱接口:采用官方推荐的
cgi-bin/draft/add接口,同步后可在微信公众平台后台预览、排版微调、群发或定时发布。 - 正文图片自动转存微信永久 CDN:自动提取文章中的所有
<img>本地及外链图片,调用微信cgi-bin/media/uploadimg接口转存至微信 CDN 并替换链接,彻底解决微信文章外链防盗链及图片裂图问题;支持本地 CDN 映射缓存,避免重复上传。 - 封面图智能提取:按优先级自动提取:文章特色图像(Featured Image) > 正文第一张图 > 全局默认封面图,自动上传永久素材库获取
thumb_media_id。 - 服务器公网出口 IP 自动识别:微信公众平台强制校验调用方 IP 白名单。插件在后台直观展示当前服务器公网出口 IP,支持一键复制,避免配置白名单时盲猜 IP。
- API 连接一键测试:在插件后台填写 AppID 和 AppSecret 后,可直接点击“测试 API 连接”,实时校验凭据有效性与 IP 白名单配置,提供清晰的中文错误指引。
- 文章编辑页侧边栏组件:
- 实时显示文章同步状态(未同步 / 已同步至草稿箱 / 同步时间 / 草稿 ID)。
- 提供“立即同步到公众号” AJAX 按钮,无需重新保存文章即可手动一键同步。
- 支持文章级别的自定义微信作者、自定义微信摘要(自动限制 120 字)、禁止自动同步开关。
- 文章列表页快捷状态展示:在后台文章列表(
wp-admin/edit.php)增加“微信同步”状态列,直观显示已同步状态及快捷“同步/重试”链接。 - 详细日志追踪与排查:记录最近 50 条同步历史(包含自动同步、手动同步、测试连接的请求与返回详情),方便快速排查异常。
安装与使用指引
1. 启用插件
进入 WordPress 后台 -> 插件 -> 已安装插件,找到 WP WeChat Sync (微信公众号文章同步助手) 并点击 启用。
2. 获取微信开发者平台凭据与配置 IP 白名单
- 登录 微信开发者平台(或 微信公众平台)。
- 选择对应公众号,进入 “基础信息” 页面。
- 在 “开发密钥” 区域:
- 复制 开发者ID (AppID)。
- 点击 重置 开发者密码获取 AppSecret 并妥善保存。
- 在 API IP白名单 点击 编辑,将 WordPress 插件后台提示的 当前服务器公网出口 IP 粘贴加入,管理员扫码确认保存。
4. 插件配置与测试
- 在 WordPress 后台 设置 -> 微信同步 中,填写 AppID 和 AppSecret。
- 点击 测试 API 连接,确认显示“连接成功!已顺利获取到 Access Token”。
- 根据需要配置:
- 同步目标:推荐选择“同步至草稿箱”。
- 自动同步开关:发布新文章时是否自动同步。
- 全局默认封面:选择一张默认图片作为保底封面(微信图文必须有封面)。
- 原文链接与版权:开启微信底部的“阅读原文”直达 WordPress 原文。
- 点击 保存设置。
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>标签。 - 严格清除加粗标题与后随冒号(
:、:)之间的换行与空格,确保标题与冒号紧密结合在一行显示。 - 自动清理段落内部空占位符与孤立段落标签。
- 针对从 GitHub 或外部粘贴正文时混入的 Markdown 粗体语法(如
- 列表扁平化段落渲染(
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/>,并将缩进与对齐空格转换为实体 ,同时赋予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 等)与标题后孤立的
。 - 完善自闭合标签(如
<hr />)的内联样式注入逻辑,防止生成非法属性格式。 - 图片清洗兜底防护:若有正文图片未能成功转存至微信 CDN,自动剔除无效图片标签,保证文章整体顺利推送。
- 针对正文严格禁止使用
- 排版增强:
- 代码块与行内
<code>样式隔离保护,提供更加优美清爽的微信图文阅读排版。
- 代码块与行内
版权与技术支持
- 开发者:李成成
- 官方博客:李成成的博客 (lichengcheng.cn)
- 开源协议:GPLv2 or later
- 官网支持:欢迎访问 lichengcheng.cn 获取更多 WordPress 实用技术分享、AI Agent 工具集成与开源项目。