WordPress.org

Make WordPress Core

Ticket #29920: 29920.diff

File 29920.diff, 1.1 KB (added by mattheu, 6 years ago)
  • wp-admin/includes/post.php

    diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php
    index d230667..f951f10 100644
    a b function wp_create_post_autosave( $post_data ) { 
    15321532                // If the new autosave has the same content as the post, delete the autosave.
    15331533                $post = get_post( $post_id );
    15341534                $autosave_is_different = false;
     1535
    15351536                foreach ( array_intersect( array_keys( $new_autosave ), array_keys( _wp_post_revision_fields() ) ) as $field ) {
    1536                         if ( normalize_whitespace( $new_autosave[ $field ] ) != normalize_whitespace( $post->$field ) ) {
    1537                                 $autosave_is_different = true;
    1538                                 break;
     1537
     1538                        if ( is_string( $new_autosave[ $field ] ) && is_string( $post->$field ) ) {
     1539                                if ( normalize_whitespace( $new_autosave[ $field ] ) != normalize_whitespace( $post->$field ) ) {
     1540                                        $autosave_is_different = true;
     1541                                        break;
     1542                                }
     1543                        } else {
     1544                                if ( $new_autosave[ $field ] != $post->$field ) {
     1545                                        $autosave_is_different = true;
     1546                                        break;
     1547                                }
    15391548                        }
     1549
    15401550                }
    15411551
     1552
    15421553                if ( ! $autosave_is_different ) {
    15431554                        wp_delete_post_revision( $old_autosave->ID );
    15441555                        return 0;