taxonomy_del_term
modules/taxonomy/taxonomy.module, строка 377
- Версии
- 5 – 6
taxonomy_del_term($tid)
Удаляет термин.
Параметры
$tid
ID термина.
Возвращаемое значение
Статус-константа удаления (SAVED_DELETED
).
Код
<?php
function taxonomy_del_term($tid) {
$tids = array($tid);
while ($tids) {
$children_tids = $orphans = array();
foreach ($tids as $tid) {
// See if any of the term's children are about to be become orphans:
if ($children = taxonomy_get_children($tid)) {
foreach ($children as $child) {
// If the term has multiple parents, we don't delete it.
$parents = taxonomy_get_parents($child->tid);
if (count($parents) == 1) {
$orphans[] = $child->tid;
}
}
}
$term = (array) taxonomy_get_term($tid);
db_query('DELETE FROM {term_data} WHERE tid = %d', $tid);
db_query('DELETE FROM {term_hierarchy} WHERE tid = %d', $tid);
db_query('DELETE FROM {term_relation} WHERE tid1 = %d OR tid2 = %d', $tid, $tid);
db_query('DELETE FROM {term_synonym} WHERE tid = %d', $tid);
db_query('DELETE FROM {term_node} WHERE tid = %d', $tid);
module_invoke_all('taxonomy', 'delete', 'term', $term);
}
$tids = $orphans;
}
cache_clear_all();
return SAVED_DELETED;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии