ZBlogCMS 如何设置文章定时发布
学完这篇,你能在 Z-BlogPHP 后台把一篇文章的发布时间设到未来某个时刻,让它到点自动对访客可见,并且知道时间没生效时该查哪里。下面按 Z-BlogPHP 1.7.3 / 1.7.4 的默认后台界面(主题为官方默认后台主题)来写,其他 1.7.x 版本菜单名称基本一致。
第一步:确认版本和时区
这一步是为了保证定时到点的时间和你预期一致,做完你能知道"系统现在认为几点"。
登录后台,地址是 http://你的域名/zb_system/login.php,登录后看页面底部或"网站设置"页右下角显示的版本号,确认是 1.7.x。然后进左侧菜单 网站设置 → 全局设置,找到"时区"一项,确认填的是 Asia/Shanghai 或 8。Z-BlogPHP 的发布时间按服务器时区计算,时区错了,定时就会整体偏移几小时。
注意:如果你的服务器本身时区是 UTC,而这里又留空或填错,会出现"明明设的 20:00,结果凌晨 4 点才显示"。
第二步:新建文章并写好内容
这一步是把正文、分类、标签准备好,做完你就得到一篇待发布的文章草稿。
点左侧菜单 文章 → 新建文章,进入编辑器页面。依次填写:顶部标题框写标题,正文区写内容,右侧(窄屏时在页面下方)的"分类"勾选所属分类,"标签"填关键词。这些和平时发布文章完全一样。
第三步:在"发布"面板设置未来时间
这一步是整个流程的关键,做完文章的发布时间就落在未来了。
在编辑器右侧找到 发布 面板,里面有三个要动的字段:
- 状态:下拉选 公开。不要选"草稿"或"待审核",那两种状态下即使时间到了前台也不会显示。
- 发布日期:点日期输入框,弹出日历后点选未来的那一天,也可以直接按
2026-03-15这种格式键盘输入。 - 时间:日期框下方有两个数字输入框,分别是"时"和"分",直接输入数字即可,例如要下午 8 点 30 分就填
20和30。
三个字段改完后不要再动状态。
注意:日期和时间必须晚于服务器当前时间,哪怕只早一分钟,文章都会立刻发布出去,改不回来(只能重新改时间)。
第四步:提交并确认
这一步是保存设置,做完你能在文章列表里看到这篇"已发布但前台看不到"的文章。
点编辑器右上角的 提交 按钮(1.7.x 是页面右上的主色按钮,底部可能还有一个同功能的按钮)。保存成功后进入 文章 → 文章管理,找到刚才那篇,状态列显示"公开",发布时间显示为你设定的未来时间。此时访问前台首页是看不到它的,这是正常现象。
第五步:验证到点是否自动可见
Z-BlogPHP 的定时发布不依赖计划任务(cron):前台查询文章时会用服务器当前时间和发布时间比对,时间一到,第一个访问的访客就能看到。所以你只要在设定时间之后刷新前台首页即可。
如果到点了还看不到,按顺序排查:
- 后台"全局设置"里的时区是否和服务器实际一致;
- 是否装了整站静态化或 Redis 类缓存插件,清一次缓存再看;
- 文章状态是否被误改成"草稿""待审核""私人";
- 主题是否用了自定义的文章查询代码,绕过了官方的时间条件——换回默认主题测试一次就能确认。
注意:部分第三方主题或插件直接查数据库而不过滤时间,会导致未来时间的文章提前显示。遇到这种情况,稳妥做法是把文章先存为"草稿",到点前手动把状态改成"公开",或者到应用中心搜索"定时发布"类插件配合使用。
小结
- 定时发布 = 状态设为"公开" + 发布日期和时间设为未来时刻,三步在编辑器右侧"发布"面板里完成。
- 前提是后台 网站设置 → 全局设置 的时区正确,否则时间会整体偏移。
- 到点自动可见,不需要配置计划任务;若看不到,先查时区、缓存、文章状态和主题查询逻辑。
- 时间一旦设成过去,文章立即发布,无法回退,只能重新编辑时间。
- 主题或缓存插件不兼容时,用"草稿 + 手动转公开"或专用插件兜底。
原文链接:https://www.gj0.com/thread-1243.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。