2010-07-28 37 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

相關問題