我有一個功能來添加標籤的帖子ID,但現在我想刪除所有當前標籤的ID在添加我的新標籤之前?WordPress的 - 刪除所有標籤的帖子ID
有沒有人知道內置函數或wordpress查詢來做到這一點?
-Hudson
我有一個功能來添加標籤的帖子ID,但現在我想刪除所有當前標籤的ID在添加我的新標籤之前?WordPress的 - 刪除所有標籤的帖子ID
有沒有人知道內置函數或wordpress查詢來做到這一點?
-Hudson
如果你可以直接訪問數據庫(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';
警告:明顯,直接修改數據庫是很危險的。小心這樣做。
我發現一個,那就是我有我的添加標籤腳本,但我沒有閱讀或理解刪除該資源中的所有標籤功能。 – atwellpub 2010-07-28 19:02:29
我拼湊在一起。它的純數據庫工作,因爲我相信沒有快速的功能來通過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);
是的,有...看看我更新的答案。 – 2010-07-28 19:30:56
我相信這也可能會刪除類別關聯。 – atwellpub 2010-07-28 19:23:42
是的。爲了只刪除標籤,必須精簡這個代碼(由wp_term_taxonomy的一個條件,但由於我沒有數據庫,我不能說現在是什麼條件:/) – 2010-07-28 19:40:43
我查看了一個WP數據庫並編輯了我的迴應。新的SQL請求只會刪除帖子標籤。 – 2010-07-28 19:46:48