Make WordPress Core


Ignore:
Timestamp:
10/08/2023 08:08:08 PM (7 months ago)
Author:
joedolson
Message:

Quick/Bulk Edit: Fix inability to quick edit draft post date.

Follow up to [56022] to fix inability to set a date/time in quick editing. Allow a user to set a quick/edit date while preventing accidental date assignments per the original intent.

Props tristanleboss, ivanzhuck, tibbsa, sabernhardt, sergeybiryukov, oandregal, khokansardar, joedolson, shailu25.
Fixes #59125. See #19907.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/post.php

    r56752 r56802  
    170170            break;
    171171        }
    172     }
    173 
    174     if ( isset( $post_data['edit_date'] ) && 'false' === $post_data['edit_date'] ) {
    175         $post_data['edit_date'] = false;
    176172    }
    177173
     
    198194        }
    199195
    200         $post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] );
     196        /*
     197         * Only assign a post date if the user has explicitly set a new value.
     198         * See #59125 and #19907.
     199         */
     200        $previous_date = $post_id ? get_post_field( 'post_date', $post_id ) : false;
     201        if ( $previous_date && $previous_date !== $post_data['post_date'] ) {
     202            $post_data['edit_date']     = true;
     203            $post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] );
     204        } else {
     205            $post_data['edit_date'] = false;
     206            unset( $post_data['post_date'] );
     207            unset( $post_data['post_date_gmt'] );
     208        }
    201209    }
    202210
Note: See TracChangeset for help on using the changeset viewer.