Как в Drupal 7 удалить все неиспользуемые термины на сайте

Читаемая вами сейчас краткая заметка повествует о том, как в Drupal 7 удалить все неиспользуемые термины на веб-сайте, т.е. только те термины, которые не имеют привязанных нод / материалов. Итак, для чистки базы данных используйте следующий программный код:

<?php
/**
 * Функция удаляет все неиспользуемые термины.
 */
function udalit_vse_neispolzuemie_termini() {
    $i = 0;
    $resultati = db_query("
    SELECT t.tid FROM {taxonomy_term_data} t
    LEFT JOIN {taxonomy_index} i ON t.tid = i.tid
    WHERE i.tid IS NULL
    ");
    foreach ($resultati as $term) :
        taxonomy_term_delete($term->tid);
        $i++;
    endforeach;
    drupal_set_message("Удалено {$i} неиспользуемых терминов(-на).");
}

/* Пример использования: */
udalit_vse_neispolzuemie_termini();
?>

P.S. Перед применением приведенного выше сниппета на рабочем проекте протестируйте код на тестовой копии во избежание различных неприятных для себя последствий.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.