[wp-trac] [WordPress Trac] #20169: How to: Avoid a bunch of useless Auto Draftt ID entries related in posts table and disable autosave feature in 'post-new.php'?
WordPress Trac
wp-trac at lists.automattic.com
Sun Mar 4 06:03:18 UTC 2012
#20169: How to: Avoid a bunch of useless Auto Draftt ID entries related in posts
table and disable autosave feature in 'post-new.php'?
-------------------------+-----------------------------
Reporter: josoroma | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Autosave | Version: 3.3.1
Severity: normal | Keywords: needs-patch
-------------------------+-----------------------------
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.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/20169>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list