WordPress.org

Make WordPress Core

Ticket #3794: post.php.diff

File post.php.diff, 893 bytes (added by Justinsomnia, 7 years ago)

adding post_save_pre and post_publish_pre filters

  • wp-includes/post.php

     
    489489        if ( is_object($postarr) ) 
    490490                $postarr = get_object_vars($postarr); 
    491491 
    492         // export array as variables 
    493         extract($postarr); 
    494  
    495492        // Are we updating or creating? 
    496493        $update = false; 
    497         if ( !empty($ID) ) { 
     494        if ( !empty($postarr['ID']) ) { 
    498495                $update = true; 
    499                 $post = & get_post($ID); 
     496                $post = & get_post($postarr['ID']); 
    500497                $previous_status = $post->post_status; 
    501498        } 
     499         
     500        if ( $postarr['post_status'] == 'publish' && $previous_status != 'publish' ) { 
     501                $postarr = apply_filters('post_publish_pre', $postarr); 
     502        } else { 
     503                $postarr = apply_filters('post_save_pre', $postarr); 
     504        } 
     505       
     506        // export array as variables 
     507        extract($postarr); 
    502508 
    503509        // Get the basics. 
    504510        if ( empty($no_filter) ) {