要选择需要删除的所有术语ID,请执行以下操作:
select wp_terms.term_id from wp_terms
left join wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id
where wp_terms.term_id in (
select term_taxonomy_id from wp_term_relationships where object_id in (
select object_id from wp_term_relationships where term_taxonomy_id = 705
)
)
and wp_term_taxonomy.taxonomy = \'post_tag\'
别忘了先创建数据库备份。
基本上,首先我获取类别ID为705的所有帖子ID(从wp\\U term\\u relationships中选择object\\u ID,其中term\\u taxonomy\\u ID=705),然后我使用这些ID获取添加到wp\\U term\\u relationships表中这些帖子的所有术语ID(从wp\\U term\\u relationships中选择term\\u taxonomy\\u ID…)最后,我通过只过滤那些标记的ID(和wp\\u term\\u taxonomy.taxonomy=\'post\\u tag\'),从wp\\u terms获得所有重要的ID。
获得所有这些ID后,可以使用它们通过SQL查询进行删除,如the_dramatist answer, 或者您可以使用Wordpress函数,以便WP能够处理拥有干净数据库所需的一切:
<?php
$ids = array(12, 23, 45, 100);
foreach($ids as $id) {
wp_delete_term( $id, \'post_tag\' );
}
?>