首页 > 解决方案 > 我们如何重置 WordPress 多站点中的 blog_id 计数

问题描述

我刚刚将我的所有子站点 (40) 从一个多站点克隆到另一个多站点安装。我想利用这个机会清理/重置我旧 MU 中的博客计数器,重新从 2 开始。目前博客计数器为 64,尽管我只有 40 个子站点。我知道它就像数据库中的主键,并且随着每个新子站点的创建而自动递增。几个月来我的所有删除和修补都在索引编号中留下了很多空白。我在 MySQL的 wp_sitemeta Db 表中找到了“blog_count”列,它目前正确地为 40,但我不敢相信它是唯一存在该计数的地方,并且不想冒险使用它。它可以安全地改变吗?

标签: wordpressmultisite

解决方案


多站点的下一个子站点由DB 表的AUTO_INCREMENT值定义。wp_blogs它定义了下一个blog_id主键。我们可以AUTO_INCREMENT在 phpMyAdmin 表的操作选项卡中找到。但我们不能将其更改为小于表中使用的数字。

但是我们可以导出wp_blogs表,用记事本++修改,然后删除表,导入修改后的表。实际上,我想我们可以用整个数据库来做到这一点,并将 any 替换wp_{old_index}_wp_{new_index}_.

这个例子。假设我们有索引 7 和更多的子站点。这些是更改wp_7_{tables}为的步骤wp_2_{tables}(它是根站点之后的第一个):

  1. 进行完整备份。:)

  2. 删除所有不必要的站点(例如 wp_8_ 等)。也删除带有旧前缀的表。

  3. 使用搜索选项卡并将所有数据库字段更改wp_7_{filedname}wp_2_{filedname}。因为有一些重要站点的元数据字段以wp_{n}_{fieldname}.

  4. 在 Operation 选项卡上,将所有 DB 表重命名为wp_7_{tablename} to wp_2_{tablename}

  5. 将表格增量更改wp_blogs为3(2之后的下一个):在phpMyAdmin中导出表格,编辑它,删除原始表格,然后将更改的表格重新导入。桌子很小,很容易。

  6. 完毕。添加索引为 3 的下一个站点。


推荐阅读