Ufak bir değişiklik işinizi çözer:
<?php
function footer_menu_walk($list=[],$children=false,$opt=[]){
$string = ($children ? '<ul>' : '') . PHP_EOL;
foreach ($list AS $menu){
$string .= (!$children ? '<div class="col">' : '') . PHP_EOL;
if($menu['parent'] == '0') {
$string .= '<div class="primary-btn">';
} else {
$string .= '<li>';
}
$string .= $menu['title'];
if($menu['parent']== '0') {
$string .= '</div>' . PHP_EOL;
}
if($menu['children'])
$string .= footer_menu_walk($menu['children'], true);
if($menu['parent'] != '0') {
$string .= '</li>' . PHP_EOL;
}
$string .= (!$children ? '</div>' : '') . PHP_EOL;
}
$string .= (($children) ? '</ul>' : '').PHP_EOL;
return $string;
}
echo footer_menu_walk($footer_menus,false);