使用 WordPress建站的朋友很多都使用了文章 ID 作为固定链接形式,但由于草稿、修订版本、附件等的存在,这个ID号增长的是很快的。对于强迫症来说,文章的ID号是跳跃式的,并不连续,让人很不舒服。
对于数据库的操作,一定要事先进行数据备份并确保备份文件可用。数据无价,谨记!
可以使用 WPJAM-Basic 插件来禁用文章修订版本和自动保存
直接在数据库中操作:
清理文章历史修订版本的语句
DELETE a,b,cFROM wp_posts aLEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)WHERE a.post_type = 'revision';
修改文章时产品的一些冗沉数据
DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
复制php脚本代码至 id.php,上传到你主机根目录下,访问:http://localhost/id.php ,即可达到重新排序的效果,从1开始。
<?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! ';?>以上就是WordPress文章ID重新排序的实现方法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
新闻热点
疑难解答
图片精选