WordPress.org

Make WordPress Core

Ticket #13401: 13401.patch

File 13401.patch, 1.3 KB (added by ocean90, 5 years ago)

First pass

  • wp-admin/admin-ajax.php

     
    857857        break; 
    858858case 'add-meta' : 
    859859        check_ajax_referer( 'add-meta' ); 
    860         $c = 0; 
     860 
    861861        $pid = (int) $_POST['post_id']; 
     862        $post = get_post( $pid ); 
     863 
    862864        if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) { 
    863865                if ( !current_user_can( 'edit_post', $pid ) ) 
    864866                        die('-1'); 
    865867                if ( isset($_POST['metakeyselect']) && '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) ) 
    866868                        die('1'); 
    867                 if ( $pid < 0 ) { 
     869                if ( $post->post_status == 'auto-draft' ) { 
     870                        $_POST['post_ID'] = $pid; 
     871                        $_POST['post_type'] = $post->post_type; 
     872                        $_POST['post_status'] = 'draft'; 
    868873                        $now = current_time('timestamp', 1); 
    869                         if ( $pid = wp_insert_post( array( 
    870                                 'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now)) 
    871                         ) ) ) { 
     874                        $_POST['post_title'] = sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now)); 
     875 
     876                        if ( $pid = edit_post() ) { 
    872877                                if ( is_wp_error( $pid ) ) { 
    873878                                        $x = new WP_Ajax_Response( array( 
    874879                                                'what' => 'meta',