1. Стили регистрировать и добавлять нужно в wp_enqueue_scripts а не в wp_head
https://wp-kama.ru/function/wp_enqueue_style
https://wp-kama.ru/function/wp_register_style
2. в wp_register_style() третий параметр $deps(массив) - у вас false
3. Если все равно не работает, то нужен дебаг кода. Смотрите, что выводит var_dump($css_files)
4. Интерполяция работает только со строками в двойных кавычках. В одинарных -
{$file}
воспринимается как строка без интерпретации переменной. В итоге вы регистрируете один и тот же стиль.
5. Зачем и wp_register_style и wp_enqueue_style?
Достаточно внутри итерации цикла
wp_enqueue_style($file, get_template_directory_uri() . '/css/' . $file);