WordPress ID 重排代码文件 – 打开即可重新排列,亲测无误!

  WordPress ID 连续问题确实很麻烦,除了文章修订历史和自动保存记录外,还有个自动草稿。那天检查了一下我数据库 wp-posts 表,发现 ID 已乱。赶紧用 SQL 语句查了下,看看有哪些未发布的文章记录:

SELECT *
FROM wmh_posts
WHERE  `post_status` !=  'publish'

  显示出来有 5 条,全部是 post_status 为 auto-draft 的记录,即自动草稿!修订历史和自动保存问题我已经解决了,网上方法很多。但是这个 auto-draft 一直没有解决,之前 WordPress 3.x 轻松搞定,现在新版有些麻烦。但是方法是有的,只是我不想去修改 WordPress 源文件。

  有些人说不用 Post ID 作为文章 URL 不就行了,就不用管这些额外产生的文章 ID 了。我其实用的本来就不是 Post ID,而是 Post name,但即便如何,我也不想数据库里产生这么多无用的垃圾记录,不是强不强迫症的问题,占用空间倒不说,等数据量大了会影响性能。

  于是用 SQL 删除所有的 auto-draft:

DELETE FROM `wmh_posts` WHERE `post_status` = 'auto-draft';

  最后进行 ID 重排,将以下代码保存为 .php 文件,上传到网站根目录,运行即可,几次亲测无误!

<?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!!! by www.Hack520.com ';
?>

给TA买糖
共{{data.count}}人
人已赞赏
WordPress教程

WordPress 去除 category 前缀的三种方法

2020-12-23 10:44:53

WordPress教程

WordPress 移动端主题自动切换(插件+代码)

2020-12-24 10:45:36

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索