HUGO
News Docs Themes Community GitHub

HasMenuCurrent

Reports whether the given Page object matches the Page object associated with one of the child menu entries under the given menu entry in the given menu.

Syntax

PAGE.HasMenuCurrent MENU MENUENTRY

Returns

bool

If the Page object associated with the menu entry is a section, this method also returns true for any descendant of that section.

{{ $currentPage := . }}
{{ range site.Menus.main }}
  {{ if $currentPage.IsMenuCurrent .Menu . }}
    <a class="active" aria-current="page" href="{{ .URL }}">{{ .Name }}</a>
  {{ else if $currentPage.HasMenuCurrent .Menu . }}
    <a class="ancestor" aria-current="true" href="{{ .URL }}">{{ .Name }}</a>
  {{ else }}
    <a href="{{ .URL }}">{{ .Name }}</a>
  {{ end }}
{{ end }}

See menu templates for a complete example.

When using this method you must either define the menu entry in front matter, or specify a pageRef property when defining the menu entry in your site configuration.