taxonomy

Программное удаление всех терминов таксономии из словаря

Для удаления всех терминов из определенного словаря в Drupal 7 недостаточно просто удалить все записи из таблицы taxonomy_term_data с условием по vid нужного словаря. После простого удаления из этой таблицы останутся данные о связях терминов с нодами в денормализованной таблице taxonomy_index и все родительские связи терминов в таблице taxonomy_term_hierarchy. Также термины, связанные с нодами taxonomy term reference полем, останутся в таблицах данных полей. Кроме этого у терминов могут быть и свои поля, которые также хранятся в отдельных таблицах. Для полного удаления отдельного термина в Drupal API имеется функция taxonomy_term_delete($tid). Для удаления всех терминов из словаря, нужно написать функцию, которая будет получать массив всех терминов словаря и в цикле их удалять.