我已将自定义帖子类型安排到未来的日期时间。现在我不会说它会自动发布,而是应该将状态切换到草稿。
我们用它来推动网络研讨会,这样我们就可以在存档页面上显示即将举行的网络研讨会。但如果是时候“发布”网络研讨会页面了,我们希望将其设置为草稿。在线研讨会结束后,我们可以编辑草稿并插入录音。这就是为什么我们希望将post\\u状态从future更改为draft,而不是publish。
我们尝试了下面的代码,但没有成功。这个钩子似乎会在post ist存储到数据库之前被触发。但要钩住wp_insert_post
或save_post_{$post->post_type}
不会提供有关旧状态的信息,因此只有状态从“未来”更改为“发布”时,我们的函数才会运行。
有人有主意吗?:-)
add_action( \'future_to_publish\', array( $this, \'transitionFutureToPublish\' ) );
public function transitionFutureToPublish( $post ) {
if ( ! empty( $post ) && $post->post_type == \'webinar\' ) {
$post[\'post_status\'] = \'draft\';
wp_update_post( $post );
}
}