标签: Gutenberg
-
使用 SlyTranslate + GLM-5.2 翻译 WordPress Gutenberg 文章时,遇到 A paragraph run did not contain a top-level paragraph. 错误。排查后确认,问题来自自定义 Paragraph Run parser 只能识别裸 ,无法兼容模型偶发返回的 或 。最终通过最小范围修改,在保留原有段落 merge/split 与 Gutenberg 结构保护能力的前提下完成修复,并通过自动测试和生产真实文章验证。
-
2026 年 8 月 6 日,我曾在 PHP 8.5 环境中排查 WordPress 插件兼容性问题,并向 PublishPress Series 官方 GitHub 仓库提交 Issue #1163,报告 SplObjectStorage::attach() 与 contains() 在 PHP 8.5 下产生 Deprecated 警告。升级至 PublishPress Series Free 3.1.3 后,我重新检查了这个问题:Issue 已由上游关闭,生产环境源码中的旧调用也已经全部替换为 offsetSet() 与 offsetExists(),实际运行测试得到 DEPRECATIONS: 0,确认旧问题已经解决。不过,这次升级又带来了一个新的 Gutenberg 保存异常:新发布的中文文章虽然仍然属于正确的系列,却不再自动获得 Series Part 编号,而对应 English 文章仍然正常。全站扫描最终发现 6 篇受影响中文文章。恢复正确编号后,全站缺失 Series Part 的文章重新归零。为了避免修改插件源码或降级版本,我增加了一个最小 MU Plugin,在 Gutenberg REST 保存完成后调用 PublishPress Series 自己的排序函数自动补齐编号。本文随后作为修复后的第一篇真实中文文章发布,并成功自动成为「WordPress 性能优…
-
在持续处理 WordPress 历史文章摘要、旧代码格式、SyntaxHighlighter 短代码及中英文覆盖翻译之后,这一轮历史迁移终于正式收尾。最终 67 个固定批次、1281 篇历史文章全部完成,remaining=0、integrity=ok。为准备退役 SyntaxHighlighter Evolved,又重新同步并审计了 1438 篇中文已发布文章,最终只有 14 篇进入人工检查,真正需要迁移到 Code Pro 的文章不到 5 篇。审计工具、配置、测试和历史迁移状态也已完成 Git 收口,503 项测试通过。发布本文前,SyntaxHighlighter Evolved 已正式停用,插件文件暂时保留约 5 天,等待旧页面缓存自然退出后再彻底删除。
-
在一篇包含大量 Gutenberg 段落、引用、列表、图片和 90 个 Code Block Pro 区块的超长文章中,我继续验证 WordPress 中文到英文整篇 AI 翻译流程。排查过程中先后发现受保护标记过多、普通段落边界过度保护、Plaintext Code Block Pro 内容字段被误判为结构变化,以及空白 freeform 导致 PARAGRAPH_RUN 结构签名漂移等问题。通过引入普通段落区域、区分内容字段与结构配置、修正最终 Gutenberg 结构签名后,受保护标记降至 506 个,最终仍以一次完整 GLM-5.2 请求成功生成英文译文,并通过 Gutenberg 编辑器实际验证。
-
在 WordPress 后台使用 SlyTranslate + GLM-5.2 翻译技术文章时,一次看似普通的尾部 STRUCT Token 缺失,最终定位为两个 INLINE Token 为适应自然英文语序发生了合法换位。主校验允许这种变化,但 Tail Repair 仍要求完整 raw Token 序列保持原始前缀,导致安全的尾部结构修复被错误阻断。本文记录从 first_mismatch_index=814 定位真实差异、修正 Tail Repair 为 fixed Token 前缀判断、补充回归测试,到生产部署并验证同一文章最终翻译成功的完整过程。
-
在 WordPress Twenty Twenty-Five 主题中,分类下拉列表原本会先访问 ?category_name=slug,再由 WordPress 跳转到最终分类固定链接。随着网站后续实施 Query String CDN 缓存归一化,这一中转机制产生了兼容问题。本文记录如何通过 WPCode、render_block_core/categories、WP_HTML_Tag_Processor 与 get_term_link(),为分类选项写入真实固定链接,并由 JavaScript 直接跳转;同时利用 WPCode 的 Frontend Conditional Logic,将执行范围限制在首页与归档页。等待缓存自然过期后,中文首页、中文归档页、英文首页及英文归档页四种场景全部验证通过,无需修改 EdgeOne 或 Cloudflare 的现有 Query String 规则。
-
本文记录 WordPress 双语博客文章列表摘要显示优化的完整实践。针对 Gutenberg Post Excerpt 默认长度导致中文摘要过短、100 字仍会截断的问题,通过 WPCode 在首页、归档页和搜索结果页中将 excerptLength 提高至 500,并保留主题 100 作为后备值。经过一段时间真实运行与启停对照,最终确认中文首页、中文分类页及英文搜索页均可基本完整显示已有摘要,同时也复盘了多层缓存环境下容易误判代码是否生效的问题。
-
在解决 WordPress 首页性能问题后,对当前服务器进行了完整配置审计,重点检查 Nginx、PHP-FPM、OPcache、Redis、W3 Total Cache、阿里云 RDS/MySQL 以及 WordPress 应用层。最终将 PHP-FPM 最大工作进程从 10 提高到 14,调整 OPcache 内存与 Interned Strings 配置,关闭 Gutenberg 实时协作,并为 SlyTranslate 调试日志增加日志轮转;同时保留大量已经运行健康的参数不变,形成一套更适合当前网站长期运行的服务器配置基线。
-
记录一次 SlyTranslate + GLM-5.2 整篇翻译中的 Protected Token 校验失败排查过程。问题最初表现为文章尾部连续丢失 Gutenberg STRUCT Token,在增加 Tail STRUCT Repair、强化 Prompt 和 Tail Guard 后仍未解决。进一步分析发现,真正原因是中文文章中存在 Paragraph → Plaintext → Paragraph 的跨块自然语言结构,GLM 为生成更自然的英文主动重组内容,导致 Protected Token 顺序漂移。最终通过清理不必要的 Plaintext、让 Gutenberg 区块边界与自然语言语义边界保持一致,在不放宽严格 Token 验证的情况下成功完成 GLM-5.2 整篇翻译。
-
在完成 Gutenberg + SyntaxHighlighter 历史文章迁移后,我继续处理 Mixed Gutenberg / Classic + SyntaxHighlighter 文章,并整理出每天固定处理 20 篇的完整 SOP。流程包括 Classic 内容规范化为 Gutenberg、SyntaxHighlighter 转 Code Block Pro、代码语言核对、生产只读验证、中文摘要生成和英文覆盖翻译。经过连续两批共 40 篇真实文章验证,流程同时覆盖了 SSH 超时有限重试、翻译失败单篇 resume,以及 selected_count=0 但批次仍未完成等异常情况,最终形成一套可以长期重复执行的历史文章迁移方案。
