避免在插入未来帖子时出现“错过时间表”的错误

时间:2017-04-14 作者:editor

我会像你所期望的那样使用post_status 属于future 还有未来post_datepost_date_gmt.

WordPress中的日期看起来不错,但这些帖子会显示“错过时间表”警告。他们还没有错过时间表,因为他们是未来的职位。

我的猜测是,这是因为在将来插入这些帖子时,我并没有添加cron事件。这个预感正确吗?如果正确,我是否只是在发布时间之后安排一个活动?如果没有,在插入将来的帖子时,如何避免“错过时间表”错误?

1 个回复
最合适的回答,由SO网友:david.binda 整理而成

错过时间表警告来自以下几行:https://github.com/WordPress/WordPress/blob/f884d7973b052c3efe0901bb136b9898ece8aa39/wp-admin/includes/class-wp-posts-list-table.php#L998,L999

它应该独立于任何cron事件,因为警告仅在当前UTC时间-post\\u date\\u gmt>0-没有其他条件时显示(除了具有future 状态)。

要调试问题,请检查数据库中保存的值post_date_gmt 带有误报警告的post对象的列。从PHP返回的值time() 应始终为UTC,因此我不希望出现任何问题。

如果帖子有正确的GMT时间,请检查一些已安装的插件是否没有过滤get_post_time 中使用的筛选器get_post_time 此处使用的函数:https://github.com/WordPress/WordPress/blob/f884d7973b052c3efe0901bb136b9898ece8aa39/wp-admin/includes/class-wp-posts-list-table.php#L984,L986

希望有帮助。

相关推荐

WordPress Cron作业,302响应

我试图在wordpress中调试cron作业。它应该会更新用户小时数,但不会,在代码中加入一些测试语句后,我不太确定它是否正在运行。我打开了调试模式,就像在wp-config.php:define(\'WP_DEBUG\', true); define(\'WP_DEBUG_LOG\', true); define(\'WP_DEBUG_DISPLAY\', true); 我调用我的cron事件functions.php 像这样:add_action(\'wp\', \'my_a