Manual use of Walker_Category class

the Walker_Category class you are using requires 3 params in walk() method, the third param will be use_desc_for_title value (this is due to how Walker_Category::start_el() method is written).

In other words, to use the walk() method without generating a notice you should change your last line to

print_r( $walk->walk( $menu_items, -1, -1 ) );

The third param is a boolean:

  • “-1” (or false) – will remove the “title” attribute from the generated menu links
  • “1” ( or true) – will make the menu use category description for the title attribute.