找回密码
 加入网盟
分割线
官方精品推荐
WordPress的自动保存功能在我看来是一道伤,鸡肋的很纠结。虽然他的初衷是为了保存用户的文章,以防万一出现意外的情况而丢失。可惜在逻辑上对于自动保存处理的很不好,特别是对于ID有洁癖的人来说更是如此,虽然我不是以ID来命名博客标题的,但是,我依旧要ID的连续。

网上关于此类的修改不胜枚举,但是很多都是只针对一个版本的,WordPress一更新就失效了,3.0.x系列的修改方法就不适合于3.1.x版本的,很是纠结。

WordPress 4.1+关闭自动保存草稿功能

打开 wp-config.php 文件,在 $table_prefix = ‘wp_’; 前面添加下面的两行代码:

  1. define('WP_POST_REVISIONS', false);//禁用历史修订版本
  2. define('AUTOSAVE_INTERVAL', false);//自动保存时间设置为一天
复制代码


打开 wp-admin/post.php 文件,搜索并注释
  1. //if ( 'attachment' !== $post_type )
  2. //  wp_enqueue_script('autosave');
复制代码

打开 wp-admin\includes\post.php 文件,搜索并修改

  1. /* 修改-注释两行代码禁用自动草稿*/
  2. /*
  3. $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
  4. $post = get_post( $post_id );
  5. */
  6. /* 修改开始*/
  7. global $current_user,$wpdb;
  8. $post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" );
  9. if (!($post) ) {
  10. $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
  11. $post = get_post( $post_id );
  12. }
  13. /* 修改结束 */
复制代码

这个原文作者写的不明白,我来重新解释一下:
打开 wp-admin\includes\post.php 文件 找到662-669行 大约是这个位置,反正5.2是这个位置。

把下面的代码
  1.         $post_id = wp_insert_post(
  2.                         array(
  3.                                 'post_title'  => __( 'Auto Draft' ),
  4.                                 'post_type'   => $post_type,
  5.                                 'post_status' => 'auto-draft',
  6.                         )
  7.                 );
  8.                 $post    = get_post( $post_id );
复制代码

替换为:
  1. /* 修改开始*/
  2. global $current_user,$wpdb;
  3. $post = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user->ID ORDER BY ID ASC LIMIT 1" );
  4. if (!($post) ) {
  5. $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft' ) );
  6. $post = get_post( $post_id );
  7. }
  8. /* 修改结束 */
复制代码

WordPres3.X的太老了,不转了,喜欢看的去下面原文看

转自:https://www.weisay.com/blog/close-wordpress-auto-draft.html
分享至 : QQ空间
收藏

4 个回复

倒序浏览
tky0935 2 2020-11-28 19:38:28
2#
非常感谢
回复 使用道具 举报
wogong134 1 2020-11-28 19:38:56
3#
奥利给
回复 使用道具 举报
阿萨德 1 2020-11-28 22:10:48
4#
感谢{author}楼主
回复 使用道具 举报
s1162040149 1 2020-11-29 01:43:24
5#
{author} 感谢楼主分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入网盟
关闭

华夏网盟推荐 上一条 /1 下一条