使用SQL将帖子批量分配到类别(MySQL)

时间:2019-05-26 作者:David Brossard

我正在将wordpress站点从QTranslate-X迁移到WPML(2个多语言插件)。

在迁移过程中,我所有属于给定类别(英语中为Health,法语中为sain)的帖子都正确地用英语分配,但法语中的链接丢失了。

我编写了一个SQL脚本,从属于健康类别的英语帖子中确定法语帖子ID的列表。这给了我一个ID列表(101102…)。

然后,我继续运行以下INSERT语句(第一个数字是对象ID,也称为post ID,第二个数字是类别ID,最后一个数字是给定对象的顺序)。这一点描述得很好here:

INSERT INTO `wp_term_relationships` VALUES(\'29017\',29411,0);
INSERT INTO `wp_term_relationships` VALUES(\'29023\',29411,0);
INSERT INTO `wp_term_relationships` VALUES(\'29031\',29411,0);
INSERT INTO `wp_term_relationships` VALUES(\'29035\',29411,0);
等等等等。。。总共有134行。这个数字加起来就是英语类别包含的内容。目前为止太好了!网站运行正常。太棒了

除了。。。一个小细节。后端类别表中的帖子计数显示为0(零):

Category table in Wordpress backend

这是我应该担心的事吗?我忘记更新其他内容了吗?

1 个回复
SO网友:David Brossard

好吧,我想我自己找到了答案。。。如我链接到的帖子所述:

wp_term_taxonomy - 定义分类法-标记、类别或自定义分类法

term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
term_id bigint(20) unsigned NOT NULL default 0,
taxonomy varchar(32) NOT NULL default \'\',
description longtext NOT NULL,
parent bigint(20) unsigned NOT NULL default 0,
count bigint(20) NOT NULL default 0,
PRIMARY KEY  (term_taxonomy_id),
UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
KEY taxonomy (taxonomy)
注意事项

count bigint(20) NOT NULL default 0,
OP描述为

count跟踪与术语+分类法对关联的对象数量。例如,给定类别分类法的一个术语,count跟踪该特定类别中的帖子数量

相关推荐

如何按照与菜单相同的顺序对Get_Categories()进行排序?

我使用了一个主题,我注意到它在菜单中动态显示了一系列类别:我需要相同的类别列表,但页脚的HTML标记不同。目前,这是我在页脚中的内容:页脚。php:<?php $categories = get_categories(); foreach($categories as $category) { echo \'<a href=\"\' . get_category_link($category->term_id) . \'\"