几点注意事项我们可以在post_submit_meta_box(()
当post_date_gmt
等于\'0000-00-00 00:00:00\'
.
我们可以看到here 在内部wp_update_post()
和here 和here 在内部wp_insert_post()
, 如何起草、待决或自动起草帖子没有日期戳。
看起来我们在post状态数组上有一个过滤器here 和here 我们可以很容易地为客户解决这个问题editing
地位我还想知道从register_post_status()
设置?
应该可以修改post_date_gmt
在wp_insert_post_data
滤器在这里,我们可以尝试从hidden_post_status
或hidden_post_status
$postarr
字段。
方便的transition_post_status
钩子,在更新帖子之前但在wp_insert_post_data
滤器因此,在这个阶段调整相应的数据库值是行不通的,因为它将在不久后被覆盖。
在post_updated
更新帖子后,钩子将激发。此挂钩提供了一种简单的方法来比较更新之前和更新之后的post对象。
示例这里有一个示例,我们可以post_updated
清除post_date_gmt
对于发布,当新状态为编辑,而前一状态既不是发布也不是编辑时:
add_action( \'post_updated\', function( $post_ID, $post_after, $post_before ) use ( &$wpdb )
{
if(
\'editing\' === $post_after->post_status
&& ! in_array( $post_before->post_status, [ \'editing\', \'publish\' ] )
&& \'post\' === $post_after->post_type
)
$wpdb->update(
$wpdb->posts,
[ \'post_date_gmt\' => \'0000-00-00 00:00:00\' ],
[ \'ID\' => $post_ID ]
);
}, 10, 3 );
希望您可以进一步测试这一点,并根据您的需要进行调整。