私はユーザーに下書きステータスで投稿を追加させます。確認し、すべて問題ないことを確認したら、それらを公開します。私は、公開されてから2日前に変更日が作成されたドラフトに気付いた。元の日付を保持する方法はありますか?
手動で公開日を設定する必要があります。
以下のコードはおそらく調整が必要ですが、ここでのトリックは最初のリビジョンの日付を取得し、それを公開されている投稿に適用することです。
add_action( 'transition_post_status', function ( $new_status, $old_status, $post )
{
if ( $old_status == 'pending' && $new_status == 'publish'
&& $post->post_date_gmt == $post->post_modified_gmt) {
$revisions = wp_get_post_revisions($post->ID);
$oldest = NULL;
foreach($revisions as $revision){
$oldest = $revision->ID;
};
$previousdate = get_the_date( 'Y-m-d H:i:s', $oldest );
wp_update_post(
array (
'ID' => $post->ID,
'post_date' => $previousdate,
'post_date_gmt' => get_gmt_from_date( $previousdate )
)
);
}
}, 10, 3 );