我尝试使用以下phpMyAdmin查询将类别112747合并到类别112748中:
UPDATE `wp_term_relationships`
SET `term_taxonomy_id` = 112747
WHERE `term_taxonomy_id` = 112748;它不起作用。查询包含哪些错误?
wordpress 3.8.2
phpMyAdmin 4.18
MySQL 5.5.34-cll
我的wordpress网站有近30万条帖子,其中大多数类别至少包含5,000条帖子。我想,除其他外,合并许多类别,试图提高网站的速度和性能。
我尝试过使用几个不同的插件来合并wordpress仪表板中的类别,但是我成功使用插件的能力似乎受到了各种mysql、cpu和php自动杀死/限制我的网站所在的共享主机环境(Cloudlinux)特性的不利影响;换句话说,任务在完成之前就会被“杀死”,有时会“崩溃”整个网站。
我知道,使用wordpress仪表板删除一个类别,会将该类别的帖子移至默认类别;因此,我甚至尝试将默认类别更改为要合并“另一个”类别的类别,并删除“另一个”类别,但显然任务最终仍会“终止”或“超时”。
通常情况下,当我尝试从wordpress仪表板、使用插件或删除类别合并类别时,“合并”只是部分完成。例如,某个类别的30或400个帖子确实会被合并,但是,任务会被“杀死”或“超时”,有时会在wordpress仪表板上产生错误,有时会“崩溃”网站,有时两者都会发生。
通常,如果没有合并所有的帖子,我可以使用wordpress仪表板递增地重复任务,但这可能需要多次重复任务,才能将15,000个帖子合并到另一个类别中。此外,如果网站“崩溃”在一个特定的“重复”,那么,我必须等待网站“恢复”从崩溃。
因此,考虑到前面提到的问题,在尝试从wordpress仪表板中合并类别时,我觉得只使用phpMyAdmin合并类别会更加有效和简单,等等。
然而,似乎wordpress数据库结构变得更加复杂了。我以为我可以在5年前用phpMyAdmin来做这类事情,更容易,更简单。
在这个特殊的例子中,在尝试实际的查询之前,我会多次确认“术语分类法id's",以避免不必要的错误。然而,我的一些论坛帖子可能会显示不正确的术语分类法in,因为在这个特定的例子中,我从文本文件中复制/粘贴的方式列出了我所有失败的尝试。但是,当我实际尝试查询时,在继续查询之前,我会多次检查“Terminal分类法id”之类的内容。
发布于 2014-04-22 15:48:50
您不能简单地“合并类别”,您必须更改与每个帖子相关联的类别。表WP_TERM_RELATIONSHIPS将帖子与类别链接起来。你可以试试这样的方法:
UPDATE wp_term_relationships
SET term_taxonomy_id =
(SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 112748)
WHERE term_taxonomy_id =
(SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 112747)您也可以试试这个插件:http://wordpress.org/plugins/batchmove/
https://wordpress.stackexchange.com/questions/141880
复制相似问题