我知道这似乎是一个简单的操作,但我找不到任何资源或文档来解释如何使用帖子 ID 以编程方式向帖子添加和删除标签。
下面是我正在使用的示例,但它似乎覆盖了所有其他标签......
function addTerm($id, $tax, $term) {
$term_id = is_term($term);
$term_id = intval($term_id);
if (!$term_id) {
$term_id = wp_insert_term($term, $tax);
$term_id = $term_id['term_id'];
$term_id = intval($term_id);
}
$result = wp_set_object_terms($id, array($term_id), $tax, FALSE);
return $result;
}
最佳答案
您需要先调用 get_object_terms 来获取所有已经存在的术语。
更新代码
function addTerm($id, $tax, $term) {
$term_id = is_term($term);
$term_id = intval($term_id);
if (!$term_id) {
$term_id = wp_insert_term($term, $tax);
$term_id = $term_id['term_id'];
$term_id = intval($term_id);
}
// get the list of terms already on this object:
$terms = wp_get_object_terms($id, $tax)
$terms[] = $term_id;
$result = wp_set_object_terms($id, $terms, $tax, FALSE);
return $result;
}
关于php - WordPress API : Add/Remove Tags on Posts,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2436487/