2010-07-28 124 views

回答

2

如果你可以直接访问数据库(PhpMyAdmin),最快的方法是SQL请求。

看在食品中database schema

DELETE FROM wp_term_relationships 
WHERE wp_term_relationships.object_id = 'yourPostId' 
AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id 
AND wp_term_taxonomy.taxonomy = 'post_tag'; 

警告:明显,直接修改数据库是很危险的。小心这样做。

+0

我相信这也可能会删除类别关联。 – atwellpub 2010-07-28 19:23:42

+0

是的。为了只删除标签,必须精简这个代码(由wp_term_taxonomy的一个条件,但由于我没有数据库,我不能说现在是什么条件:/) – 2010-07-28 19:40:43

+0

我查看了一个WP数据库并编辑了我的回应。新的SQL请求只会删除帖子标签。 – 2010-07-28 19:46:48

1

应该可以帮助你到达那里:

Wordpress API: Add/Remove Tags on Posts

我发现这个功能:wp_delete_term看看它可以帮助你......

+0

我发现一个,那就是我有我的添加标签脚本,但我没有阅读或理解删除该资源中的所有标签功能。 – atwellpub 2010-07-28 19:02:29

0

我拼凑在一起。它的纯数据库工作,因为我相信没有快速的功能来通过ID删除标签,(但我仍然不是100%确定的)。

//define array of tags 
$tags = array("new tag","new tag 2");  
//define post ID 
$val = 254; 

//delete tags associated to post id 
$query = "SELECT * FROM ".$table_prefix."term_relationships tr JOIN ".$table_prefix."term_taxonomy tt ON tr.term_taxonomy_id=tt.term_taxonomy_id WHERE tr.object_id='$val' AND tt.taxonomy='post_tag'"; 
$result = mysql_query($query); 
if (!$result){echo $query; echo mysql_error();} 

while ($arr = mysql_fetch_array($result)) 
{ 
     $tid = $arr['term_taxonomy_id']; 
     $query2 = "DELETE FROM ".$table_prefix."term_relationships WHERE term_taxonomy_id='$tid'"; 
     $result2 = mysql_query($query2); 
     if (!$result2){echo $query2; echo mysql_error();} 
} 


//add tags to post id   
wp_add_post_tags($val,$tags); 
+0

是的,有...看看我更新的答案。 – 2010-07-28 19:30:56