Skip to content

Instantly share code, notes, and snippets.

@andreasvirkus
Created July 15, 2016 12:55
Show Gist options
  • Save andreasvirkus/8c83cc204d3a33f3ead8a94d6e667afe to your computer and use it in GitHub Desktop.
Save andreasvirkus/8c83cc204d3a33f3ead8a94d6e667afe to your computer and use it in GitHub Desktop.
/**
* Light breadcrumbs lookup using the native wp_nav_menu
*
* @param string $themeLocation
* @param string $separator
*
* @return string
*/
function getBreadcrumbs($themeLocation = 'primary', $separator = ' ⟩ ') {
if (($locations = get_nav_menu_locations()) && isset($locations[ $themeLocation ])) {
$menu = wp_get_nav_menu_object($locations[$themeLocation]);
$items = wp_get_nav_menu_items($menu);
_wp_menu_item_classes_by_context($items); // Set up the class variables, including current-classes
$crumbs = ["<ul class=\"crumbs-list\">"];
$crumbs[] = "<li><a href=\"" . get_bloginfo('url') . "\" title=\"Home\">Home</a></li>";
foreach ($items as $item) {
if ($item->current_item_ancestor || $item->current) {
$crumbs[] = "<li><a href=\"{$item->url}\" title=\"{$item->title}\">$separator {$item->title}</a></li>";
}
}
$crumbs[] = "</ul>";
return implode(' ', $crumbs);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment