Get the free theme
View Categories

Using Tokens in the Header and Footer

2 min read

The header and footer boxes accept a small set of tokens, so you can drop in things that change, like the year or a navigation menu, without hardcoding them. Everything around a token is still your raw HTML, rendered full width and untouched. These tokens work in the Header and Footer boxes under Appearance, Loupely Canvas, and in a per page header or footer override.

Site tokens

These fill in values from your site settings:

  • {site_title} the site title.
  • {tagline} the site tagline.
  • {home_url} your homepage address, for a link.
  • {year} the current year, so a copyright line never goes stale.

A footer line that stays current on its own:

<p class="foot">© {year} {site_title}</p>

The logo token

{logo} prints the site logo as a linked image with the class custom-logo, which you size with your own CSS. Set the logo image under Appearance, Customize, Site Identity, or from the Site basics section described in site basics: logo, favicon, and menus. With no logo set, {logo} renders nothing.

The menu token

{menu:header} prints the menu you have assigned to the Header location, and {menu:footer} prints the one assigned to the Footer location, both under Appearance, Menus. You can also call any menu by its slug or name with {menu:a-menu-slug}. A menu renders as a plain unordered list with the class lc-menu, no wrapper and no styling, so the markup is yours to target:

<nav class="site-nav">{menu:header}</nav>

If no menu is assigned to that location, or the slug matches nothing, the token renders nothing rather than dropping in a fallback list, so an empty location leaves your markup clean.

A header and footer using tokens

A header with a logo and a menu, and a footer with a year line:

<header class="bar">
  <a class="brand" href="{home_url}">{logo}</a>
  <nav>{menu:header}</nav>
</header>
<footer class="foot">
  <nav>{menu:footer}</nav>
  <p>© {year} Trestle Coffee Co.</p>
</footer>

Style .bar, .brand, .lc-menu, and .foot from your Head code box. The tokens are the only part Canvas fills; the rest renders exactly as you wrote it. For tokens inside blog post markup, which are a different set, see using tokens in blog posts.

<lc-toy:token-resolver>
{year}resolves to2026