Drupal 7 - Удалить все ноды

При создании функционала сайта приходиться генерировать демо контент, который впоследствии нужно удалить, а возможно и не раз. Чтобы быстро выполнить эту операцию, можно воспользоваться небольшим сниппетом. Выполнить этот сниппет можно как вариант с помощью блока "Выполнить PHP код", который создается модулем devel.

Итак, для удаления всех материалов всех типов нужно выполнить следующий код:


$query = db_select('node', 'n');
$query->fields('n', array('nid'));
$results = $query->execute(); 
foreach ($results as $result) {
  node_delete($result->nid);
}

Для удаления всех нод определенного типа нужен такой сниппет:


// Для примера выберем тип материалов article
$node_type = 'article';
$query = db_select('node', 'n');
$query->fields('n', array('nid'));
// Добавляем условие по типу контента
$query->condition('n.type', $node_type);
$results = $query->execute(); 
foreach ($results as $result) {
  node_delete($result->nid);
}