Получение родительских терминов добавляет дополнительную пустую разметку

Я пытаюсь получить только слова верхнего уровня из иерархической таксономии «Город». Он отлично работает в некотором смысле, потому что он выводит дополнительные элементы …

$cities = get_terms( 'city' , array( 'parent' => 0, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => true )); foreach ($cities as $city) { ?> <li><a href="<?php echo get_term_link( $city, 'city' ); ?>" class="button radius"><?php echo $city->name; ?></a><li> <?php } ?> </ul> 

Который перенастраивает только 2 города (и каждый из них имеет несколько дочерних терминов) Возвращенный HTML выглядит так:

  <li> ... correct data about term 1 </li> <li> </li> <li> ... correct data about term 2 </li> <li> </li> </ul>