wordpress上传文章ID不连续删除文章id递增
文章目录
MD网上查了很多方法都很操蛋,下面这种方法我试过了,还是不生效,这是之前的笔记,所以我在原来的基础之上又增加了第二种“wordpress上传文章ID不连续解决办法”。
第一种:wordpress上传文章ID不连续解决办法
最近学习了wordpress程序,但是我发现一个问题,就是在导入文章的时候,感觉文章的id对应不上。然后到数据库中一看才发现,原来wordpress程序在更新文章或者修改文章的时候都会占用id序列,找到问题原因然后我就删除了所有文章从新尝试,让文章的id从零开始,方法如下,都是加在模板目录的functions.php文件中:
让文章id递增方法:
function keep_id_continuous(){ global $wpdb; $lastID = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' OR post_status = 'draft' OR post_status = 'private' OR ( post_status = 'inherit' AND post_type = 'attachment' ) ORDER BY ID DESC LIMIT 1"); $wpdb->query("DELETE FROM $wpdb->posts WHERE ( post_status = 'auto-draft' OR ( post_status = 'inherit' AND post_type = 'revision' ) ) AND ID > $lastID"); $lastID++; $wpdb->query("ALTER TABLE $wpdb->posts AUTO_INCREMENT = $lastID"); } // 将函数钩在新建文章、上传媒体和自定义菜单之前。 add_filter( 'load-post-new.php', 'keep_id_continuous' ); add_filter( 'load-media-new.php', 'keep_id_continuous' ); add_filter( 'load-nav-menus.php', 'keep_id_continuous' ); // 禁用自动保存,所以编辑长文章前请注意手动保存。 add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) ); // 禁用修订版本 remove_action( 'pre_post_update' , 'wp_save_post_revision' ); // WordPress连续ID,禁用草稿功能函数结束 // 使WordPress在原生编辑器(tiny)下发表文章时,不去除空格 add_filter('tiny_mce_before_init', 'preserve_nbsp_chars'); function preserve_nbsp_chars($initArray) { $initArray['entities'] = '160,nbsp,'.$initArray['entities']; return $initArray; }
注意:这种方法我试过,有时候不生效,但是将代码放在文件最前面就是正常的,如果大家遇到这样的情况,可以这样尝试改下!
通过上面的设置就能够实现文章的id递增,同时删除了文章和回收站中的文章后,文章的id会从现有文档中的最后一个id开始递增,我已经亲自测试过,可以用!注意给上面的两个代码加上<?php ?>
第二种:wordpress上传文章ID不连续解决办法
1、找到根目录下的wp-config.php文件,先查查有没有以下两段代码
/** 禁用修改版。 */ define(‘AUTOSAVE_INTERVAL’, 120000000 ); // 设置自动保存间隔,单位是秒,默认60 define(‘WP_POST_REVISIONS’, false ); // 禁用文章修订功能
如果有,就把这两段代码后面的值改成上面的值
2,继续找到wp-admin/post.php文件中的下面代码,然后注释了。
// if ( ! wp_check_post_lock( $post->ID ) ) { // $active_post_lock = wp_set_post_lock( $post->ID ); // if ( 'attachment' !== $post_type ) { // wp_enqueue_script( 'autosave' ); // } // } // $post = get_post( $post_id, OBJECT, 'edit' ); // if ( post_type_supports( $post_type, 'comments' ) ) { // wp_enqueue_script( 'admin-comments' ); // enqueue_comment_hotkeys_js(); // }
3、继续找到wp-admin/post-new.php文件中的下面代码,然后注释了。
// wp_enqueue_script( 'autosave' );
最后我还是实现了文章id递增,但是我上面的两种方法都用上了,第一种没有删,也懒得去删了,实现需求就行!
版权保护: 本文由小冬SEO编辑发布,转载请保留链接: http://www.myseoyh.cn/shuo/103.html