Update Modified date when scheduled posts get published
-
15-04-2021 - |
Question
I have a post scheduled to go out 1 week from now. I made the change today to schedule it and let it be.
When it finally gets published, the post date is the date it was scheduled to be published. But the modified date is still 1 week earlier!
How do I make it so that as soon as a scheduled post gets published it updates the modified date to the post date?
Solution
With the help of someone else, I managed to figure this out.
Add this to your functions.php:
// Scheduled posts should update modified date when published
function update_modified_date_to_post_date( $post ) {
$updated_data = [
'ID' => $post->ID,
'post_modified' => $post->post_date,
'post_modified_gmt' => $post->post_date_gmt
];
wp_update_post( $updated_data );
}
add_action( 'future_to_publish', 'update_modified_date_to_post_date', 10, 1 );
OTHER TIPS
wp_update_post
actually sets the current time to post_modified
and post_modified_gmt
each time is called.
You can use a $wpdb
query for this to actually work.
function update_modified_date_to_post_date( $post ) {
global $wpdb;
$wpdb->query("UPDATE $wpdb->posts SET post_modified = '{$post->post_date}', post_modified_gmt = '{$post->post_date_gmt}' WHERE ID = {$post->ID}" );
}
add_action( 'future_to_publish', 'update_modified_date_to_post_date', 10, 1 );
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange