补一条这几周整理的选型笔记,给后面搜到这帖的人参考:「交付 WP 站之后,怎么让客户只改内容、不搞乱布局」。先看站点是怎么做的,再选工具:
1. 页面本身就是古腾堡区块 / 区块主题
先试原生方案,不花钱:
- contentOnly:6.1 就有了,WP 7.0 起,未同步的 pattern 和模板部件默认就是 contentOnly ,会隐藏设计工具,客户只能改文字和图片。注意它是"编辑模式",不是权限:客户点 "Edit pattern" 就能拿到完整编辑。想管谁能锁定 / 解锁,用 block_editor_settings_all 里的 canLockBlocks 。
- Block Bindings:把段落、标题、图片、按钮等区块属性绑定到 post meta 之类的数据源( 6.9 起可以用 filter 扩展支持的属性)。适合区块模板,但编辑还是在区块编辑器里。
- 想让客户直接在前台改区块:
wp.org 上有 FrontEdit 、Frontpen 、Jamie's Front-End Editor 这几个,都是改区块的。
2. 结构化数据很多(产品规格、团队成员、关系字段)
ACF 还是最稳的。代价有两个:客户要去后台对着字段名找"首页大标题"在哪;文案存在 postmeta 里,WP 自带搜索默认只搜标题、摘要和正文,这些字段搜不到。
3. 手写的 PHP 主题( Tailwind / Bootstrap / 直接 echo ),只想让客户改几处文案、图片、链接
上面两类原生方案基本用不上,因为模板里没有区块。思路是"在模板里声明可编辑区":
- Bindery:
wp.org 上 8 月底出的新插件,可以在设置页勾选可编辑的标签,也可以在模板里用 bindery_attrs() 标记,值存在它自己的 wp_bindery_values 表里,自带多语言。
- LiveCMS:在模板里用 HTML 注释包住可编辑区,客户在前台点了就改,编辑保存在 WordPress 里(不在主题文件里),一保存就生效;发布时还会往 post_content 写一份纯文本方便搜索。(利益相关:这个是我做的)
不管选哪种,交付前我都会做这几件事:
- 列一张"客户可以改什么"的清单,不在清单里的就不开放
- 在 staging 上陪客户实际改一次标题、换一张图、改一个按钮链接
- 客户账号给 Editor ,不给 Admin
- 提前说好"加一个新板块"是开发需求,不是客户点一下就有的
几种方案的对比我整理成了一篇(英文):
https://livecms.io/blog/frontedit-vs-frontpen-vs-livecms大家要是有别的做法,欢迎补充,尤其是区块主题交付给客户之后的实际体验。