既然已经升级到了WordPress 3.5,也不好降级,只好再想办法解决Wordpress自动保存草稿的问题,经过搜索,找到了一个不是很好的禁用自动保存草稿的方法。 解决WorPress 3.5自动草稿的方法是:依旧启用原先的disable revisions and autosave插件,然后编辑wp-admin/includes/post.php文件,在if ( $create_in_db ) {语句之前加入一行$create_in_db = false; 语句,经过实际测试,增加了这一行之后,新建日志,数据库就不会出现一篇自动存档的草稿了。 但是这种修改WordPress源代码的方法是很不好的,这会导致以后每次WordPress升级,都需要维护修改一次,工作量会越来越大,不如用插件的方式解决,可惜目前实在找不到如何使用插件来解决这个问题,要是WordPress下一个版本能官方解决就好了。 更新:上述禁用自动草稿(Auto-Draft)的方法仅仅针对Wordpress 3.5以前的版本,对Wordpress 3.1以后的版本是无效的,添加后保存文章时提示“没有修改权限”。Wordpress 3.5以后的版本修改方法是: 依旧编辑wp-admin/includes/post.php文件,找到下面两行: $post_id = wp_insert_post( array( ‘post_title’ => __( ‘Auto Draft’ ), ‘post_type’ => $post_type, ‘post_status’ => ‘auto-draft’ ) ); $post = get_post( $post_id ); 将其替换为如下几行即可: $post_auto_draft = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_type = '$post_type' AND post_status = 'auto-draft' LIMIT 1" ); if ( $post_auto_draft ) { $post = $post_auto_draft; } else { $post = get_post( wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) ) ); } 总结:WordPress的自动保存(Auto-Save)、历史版本(Post Revisions)和自动草稿(Auto-Draft)的功能真是麻烦,在数据库中产生大量垃圾数据,并且自动草稿(Auto-Draft)目前只能通 过修改源代码来实现,希望WordPress官方能够提供一种选项,让用户可以选择是否启用自动草稿(Auto-Draft)功能。 转载请保留固定链接: https://linuxeye.com/jianzhan/1160.html |