最近才发现我这不到200+文章的博客文章ID竟然到了1500+ 真神奇😄,稍微有点强迫症的我准备操作一波,下面是我使用的方法,有需要的朋友可以自己试一试哈
修改 wp-config.php配置文件实现功能禁用
在wp-config.php 文件, “define(‘WP_DEBUG’, false);” 后边添加下面的两行代码即可:
/** WordPress 编辑器关闭自动保存和历史修订版本选项。 本项注释掉即可开启。 */
define('WP_POST_REVISIONS', false);//禁用历史修订版本post_revision
define('AUTOSAVE_INTERVAL', 86400);//设置自动保存时间设置为一天
PHP重组合ID排序
<?php
/** 引入网站配置文件,这里主要获得数据库连接信息及常规操作类 */
require_once './wp-config.php';
function change_post_id($id)
{
global $convertedrows, $wpdb;
/** 修改文章ID关联的类别、标签、、评论各表,prefix是您安装时设置的数据库表前缀 */
$wpdb->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! ';
?>
保存后, 通过访问【‘你的域名’/id.php】等下就好了。
温馨提示:做好数据备份以防万一
参与讨论