Opened 13 years ago
Closed 13 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: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.3.1 |
Component: | Autosave | Keywords: | needs-patch |
Focuses: | Cc: |
Description ¶
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:
wp-admin/post-new.php
#1 Comment:
//wp_enqueue_script('autosave');
#2 Change:
$post = get_default_post_to_edit( $post_type, true ); $post_ID = $post->ID;
by:
$post = array(); $post_ID = 0;
wp-admin/post.php
#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']; else $post_id = $post_ID = 0;
by:
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; redirect_post($post_id); exit; } 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.
Pull Requests
- Loading…
Well I get an answer from StackExchange:
http://wordpress.stackexchange.com/questions/44352/how-to-avoid-a-bunch-of-useless-auto-draftt-id-entries-related-in-posts-table-a