Make WordPress Core

Opened 4 years ago

Closed 4 years ago

#20169 closed enhancement (invalid)

How to: Avoid a bunch of useless Auto Draftt ID entries related in posts table and disable autosave feature in 'post-new.php'?

Reported by: josoroma Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.3.1
Component: Autosave Keywords: needs-patch
Focuses: Cc:


I got it! Buuuuut I had to edit 2 core files, yes! 2 core files :(

I know is not a cool plugin hack, but maybe a cool patch for WP, Im using 3.3.1 version.

Well, here is my little hack/contribution:


#1 Comment:


#2 Change:

    $post = get_default_post_to_edit( $post_type, true );
    $post_ID = $post->ID;


    $post 		= array();
    $post_ID 	= 0;


#1 Change:

    if ( isset( $_GET['post'] ) )
     	$post_id = $post_ID = (int) $_GET['post'];
    elseif ( isset( $_POST['post_ID'] ) )
     	$post_id = $post_ID = (int) $_POST['post_ID'];
     	$post_id = $post_ID = 0;


    if ( isset( $_GET['post'] ) ) {
     	$post_id = $post_ID = (int) $_GET['post'];
    } elseif ( isset( $_POST['post_ID'] ) ) {
    	if ( empty($_POST['post_ID']) ) {
    		$post_type = wp_kses($_POST['post_type']);
    		if( !post_type_exists($post_type) ) {
    			$post_type = 'post';

    		check_admin_referer('update-' . $post_type . '_' . (int) $_POST['post_ID']);
    		global $user_ID;
    		$defaults = array(
    							'post_status' 	=> 'draft',
    							'post_type' 	=> $post_type,
    							'post_author' 	=> (int) $user_ID,
    		$postarr 	= wp_parse_args( $_POST, $defaults );
    		$post_ID 	= wp_insert_post($postarr);
    		$post_id 	=  (int) $post_ID;
    	} else {
    		$post_id = $post_ID = (int) $_POST['post_ID'];
    } else {
     	$post_id = $post_ID = 0;

I am using JQuery to hide: add media stuff. Just only a unique ID entry is created in posts table (and not a bunch of useless Auto Draft entries related) and media stuff will be visible after user manually saves current post.

Rare behavior:
When a user logins for the first time and is redirected to Dashboard, WP creates an Auto Draft entry in posts table, hmmm, crazy! Somebody knows why it works like that?

A better solution: perhaps not altering at any chance core files? It will be a great one! For example, with a checkbox in Setting to check or uncheck if we want the "autosave" feature or not (get_option). Somebody else wants to apply the patch?

Thanks in advance.

Change History (2)

#2 @dd32
4 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.