首页>技术知识>WordPress WordPress文章ID不连续重新排序的实现方法!
WordPress教程学习网站
2022-03-27
使用 WordPress建站的朋友很多都使用了文章 ID 作为固定链接形式,但由于草稿、修订版本、附件等的存在,这个ID号增长的是很快的。对于强迫症来说,文章的ID号是跳跃式的,并不连

使用 WordPress建站的朋友很多都使用了文章 ID 作为固定链接形式,但由于草稿、修订版本、附件等的存在,这个ID号增长的是很快的。对于强迫症来说,文章的ID号是跳跃式的,并不连续,让人很不舒服。

对于数据库的操作,一定要事先进行数据备份并确保备份文件可用。数据无价,谨记!

进入数据库对数据表进行下优化


重新排列不连续的文章ID

复制php脚本代码至 id.php,上传到你主机根目录下,访问:http://localhost/id.php ,即可达到重新排序的效果,从1开始

query('update ' . $wpdb->prefix . 'posts set ID = ' . $convertedrows . ' where ID = ' . $id);        $wpdb->query('update ' . $wpdb->prefix . 'term_relationships set object_id = ' . $convertedrows . ' where object_id = ' . $id);        $wpdb->query('update ' . $wpdb->prefix . 'postmeta set post_id = ' . $convertedrows . ' where post_id = ' . $id);        $wpdb->query('update ' . $wpdb->prefix . 'comments set comment_post_ID = ' . $convertedrows . ' where comment_post_ID = ' . $id);        $convertedrows++; } /** ID默认由1开始 */ $convertedrows = 1; /** 库文章表所有记录 */ $sql_query = 'SELECT ID FROM ' . $table_prefix . 'posts ORDER BY ID ASC'; $all_post_ids = $wpdb->get_results($sql_query); /** 有返回值时则执行循环 */ if (is_array($all_post_ids)) {        foreach ($all_post_ids as $post_id) {                change_post_id($post_id->ID);        } } /** 重新设置文章ID自动增加的起点 */ $wpdb->query('alter table ' . $table_prefix . 'posts AUTO_INCREMENT = ' . $convertedrows); echo 'Total:' . $convertedrows . ', It\'s ok! '; ?>


显示全部内容...