使用 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重新排序的實現方法的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答
圖片精選