Skip to content

Instantly share code, notes, and snippets.

@harryfinn
Last active August 29, 2015 14:05
Show Gist options
  • Save harryfinn/dbf8f85155dcdd32a01f to your computer and use it in GitHub Desktop.
Save harryfinn/dbf8f85155dcdd32a01f to your computer and use it in GitHub Desktop.
WordPress - Default menu fallback_cb for non-existent menus
function hf_default_menu_fallback($nav_elem, $nav_class) {
echo (!empty($nav_elem) ? '<' . $nav_elem . (!empty($nav_class) ? ' class="' . $nav_class . '">' : '>') : '')
. '<ul class="menu">'
. '<li class="menu-item">'
. '<a href="' . admin_url('nav-menus.php?action=edit&menu=0') . '">Add Menu</a>'
. '</li>'
. '</ul>'
. ($nav_elem !== false ? '</' . $nav_elem . '>' : '');
}
function hf_default_wp_nav_menu_args($args) {
if(has_nav_menu($args['theme_location']) === false) {
$args['fallback_cb'] = hf_default_menu_fallback($args['container'], $args['container_class']);
}
return $args;
}
add_filter('wp_nav_menu_args', 'hf_default_wp_nav_menu_args');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment