网站建设

当前位置:

WordPress文章ID重新排序的实现方法

浏览量:354次

WordPress文章ID重新排序的实现方法

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

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

2. 禁用文章修订版本和自动保存功能

可以使用 WPJAM-Basic 插件来禁用文章修订版本和自动保存

3. 删除冗余的修订版本和自动保存

直接在数据库中操作:

清理文章历史修订版本的语句

a,b,c

FROM a

LEFT JOIN s b ON (a.ID = b.)

LEFT JOIN c ON (a.ID = c.)

WHERE a. = '';

修改文章时产品的一些冗沉数据

FROM WHERE = '';

FROM WHERE = '';

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

5. 重新排列不连续的文章ID

复制php脚本代码至 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! ';
?>

文章ID重新排序的实现方法方法二一、打开wp-.php文件,在最后添加代码

define(‘WP_POST_REVISIONS’, false);
define(‘AUTOSAVE_INTERVAL’, false);

二、打开wp-admin下

post-new.php(第46行)和post.php(第177行)这两个文件

将其(‘’); 删除或者注释,建议注释// (‘’);

三、打开wp-.php文件

找到if ( $ ),在它的前一行添加$ = false;

$create_in_db = false;
if ( $create_in_db )

通过这三步,就可以让文章ID连续,想用ID做文章名的朋友赶快来吧!不过我只是看见ID不连续不爽,典型ID控^_^BUG:发布文章、页面后都会跳转到文章列表。如果以前发表过文章造成ID不连续,我想让ID连续有什么办法,当然有咯。请看让文章ID重新排列的方法介绍。

前面我们介绍过让文章ID连续的方法,如果以前发表过文章造成ID不连续,我想让ID连续有什么办法,当然有咯。现在就顺便介绍让文章ID重新排列的方法。

让 文章 ID重新排列方法A:一、在执行SQL:

ALTER TABLE wp_posts DROP ID;
OPTIMIZE TABLE wp_posts;
ALTER TABLE wp_posts ADD ID BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

二、进入 选择数据表

点击操作 的值为n+1,其中n为 中最大ID数(PS:有点回到高考的感觉^_^)

BUG:这种方法会造成文章没有关键字,评论不会对应原来的文章,对应的是原来的ID

方法B:一、导出所有文章二、清空数据表

wp_posts 、wp_postmeta、wp_terms 、 wp_term_taxonomy、 wp_term_relationships

三、导入文章

BUG好像没有,不过新的文章前面ID是草稿到发布的文章,然后草稿和发布的文章按时间先后排列。

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【admin@admin.com】,我们在确认后,会立即删除,保证您的版权。