Такое можно сделать костыликом:
add_filter('wp_setup_nav_menu_item', function($menu_item){
$menu_item->icon = get_post_meta($menu_item->ID, '_menu_icon', true);
return $menu_item;
});
add_action('wp_update_nav_menu_item', function($menu_id, $menu_item_db_id, $args){
if(!empty($_REQUEST['menu_icon']) && is_array($_REQUEST['menu_icon'])){
$icon_value = !empty($_REQUEST['menu_icon'][$menu_item_db_id]) ? $_REQUEST['menu_icon'][$menu_item_db_id] : '';
update_post_meta($menu_item_db_id, '_menu_icon', $icon_value);
}
}, 10, 3);
add_filter('wp_edit_nav_menu_walker', function(){
return 'Theme_Menu_Admin_Walker';
});
Класс в комментах