把草稿设成私密,交给同事补一段,对方登录后文章列表里根本没有这条,直接访问编辑地址返回「抱歉,你不能编辑此文章」。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,私密文章要求 read_private_posts 和 edit_others_posts 两类权限,投稿者角色两个都没有。可见性设置只影响前台读取,不会顺带把编辑权限放开。
「私密草稿权限」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。改完顺手把文档补一句,省得下次自己重新推一遍。
wp cap add editor read_private_posts wp user add-role 27 editor wp post get 903 --field=post_author
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
具体做法是,给协作者单独建角色,只加 read_private_posts 和 edit_others_posts;用 current_user_can 在模板里判断,别只靠菜单隐藏;确认文章 post_author 是谁,作者本人不需要额外权限;改完用该账号登录,列表和编辑页都走一遍。
最后用这个标准收尾,协作者登录后能在列表里看到这篇私密草稿,点进去可以编辑并保存。
