投稿者提交后状态是 pending,后台待审列表里有 7 篇,编辑三天没收到任何邮件,最新一篇还排在列表第二页。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
wp eval 'var_dump(wp_mail("editor@example.com", "待审提醒", "有新的投稿"));'
wp post list --post_status=pending --fields=ID,post_title,post_date
待审通知默认只发给文章作者,编辑和管理员的邮箱不在收件人里。站点又没开 SMTP,wp_mail 直接返回 false,失败也不落日志。这一点先确认清楚,后面就不用反复试。
「待审通知缺失」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,用 wp_mail 的过滤器把编辑组加进收件人;装 SMTP 插件并验证发信,别依赖服务器的 sendmail;待审数量做成后台角标或每日摘要;投稿页给作者一个明确的提交成功提示。
改完照着核一遍,新投稿提交后编辑邮箱收到通知,后台待审列表按时间排在第一页。
