SuperNav — Documentation

Setup, JSON configuration, colors, panel types, multilingual (i18n) and theme integration.

1. Quick start

🖼️Screenshot: menu editor with expanded ⚡ SuperNav panelimg/doc-schnellstart-editor.png · recommended 1400×800

Open the menu editor

WordPress Admin → Appearance → Menus → select the desired menu

Expand a menu item

Click the arrow on a top-level entry
→ At the very bottom appears: ⚡ SuperNav Panel

Basic settings

FieldValue for a features menu
Panel typeColumns with icons & descriptions
Panel widthWide (~1100px)
"View all" textView all features
"View all" URL/features

Save

Click "Save Menu" at the bottom right — only then do all changes take effect.


2. JSON structure: Columns & Links

The JSON content goes into the "Columns & Links" tab in the menu editor.

Tip: Validate your JSON with the JSON tester before pasting it into the menu editor.

Minimal example (1 column, 2 items)

[
  {
    "heading": "Accounting",
    "items": [
      {
        "label": "Invoices",
        "desc": "Legally compliant and effortless invoicing",
        "url": "/invoices",
        "icon": "dashicons-media-document"
      },
      {
        "label": "Orders",
        "desc": "Create convincing quotes",
        "url": "/orders",
        "icon": "dashicons-email-alt"
      }
    ]
  }
]

Full example (2 columns + badge)

[
  {
    "heading": "Accounting",
    "items": [
      {
        "label": "Invoices",
        "desc": "Legally compliant and effortless invoicing",
        "url": "/invoices",
        "icon": "dashicons-media-document",
        "badge": "E-invoicing · Perfectly prepared",
        "badge_url": "/e-invoicing"
      },
      {
        "label": "Orders",
        "desc": "Create convincing quotes",
        "url": "/orders",
        "icon": "dashicons-email-alt"
      },
      {
        "label": "Receipt capture",
        "desc": "Collect all receipts in one place",
        "url": "/receipts",
        "icon": "dashicons-format-image"
      },
      {
        "label": "Banking",
        "desc": "Book incoming payments automatically",
        "url": "/banking",
        "icon": "dashicons-bank"
      },
      {
        "label": "Contact management",
        "desc": "All info on customers and suppliers",
        "url": "/contacts",
        "icon": "dashicons-groups"
      },
      {
        "label": "Products and services",
        "desc": "Maintain hourly rates and stock",
        "url": "/products",
        "icon": "dashicons-products"
      }
    ]
  },
  {
    "heading": "Taxes and reporting",
    "items": [
      {
        "label": "Overview",
        "desc": "Keep track of finances and tax load",
        "url": "/overview",
        "icon": "dashicons-dashboard"
      },
      {
        "label": "VAT return",
        "desc": "Pre-filled and sent directly to the tax office",
        "url": "/vat",
        "icon": "dashicons-chart-bar"
      },
      {
        "label": "P&L statement",
        "desc": "Effortless profit calculation on the side",
        "url": "/pnl",
        "icon": "dashicons-grid-view"
      },
      {
        "label": "Business evaluation",
        "desc": "Assess your company's performance",
        "url": "/evaluation",
        "icon": "dashicons-chart-area"
      },
      {
        "label": "Trial balance",
        "desc": "Trace journal entries in detail",
        "url": "/trial-balance",
        "icon": "dashicons-list-view"
      },
      {
        "label": "Exports",
        "desc": "DATEV and ADDISON compliant",
        "url": "/exports",
        "icon": "dashicons-download"
      },
      {
        "label": "Collaboration",
        "desc": "With your accountant or tax advisor",
        "url": "/collaboration",
        "icon": "dashicons-share"
      }
    ]
  }
]

3. Configuring colors

🖼️Screenshot: 🎨 Colors tab in the menu editorimg/doc-farben-tab.png · recommended 1400×800

The plugin offers 4 levels of color configuration — from global down to a single item.

Level 1 — Global: plugin settings

WordPress Admin → Settings → SuperNav

Applies to all menu items. Color pickers for every area. No code required.

Level 2 — Per menu item: 🎨 Colors tab

In the menu editor → expand the menu item → tab 🎨 Colors

Overrides the global settings for this menu item only.
Leave empty = the global color is used.

Level 3 — Per column: JSON color fields

Directly in the column's JSON (heading level):

[
  {
    "heading": "Accounting",
    "bg_color": "#f0f9ff",
    "heading_color": "#0369a1",
    "icon_color": "#0369a1",
    "icon_bg": "#e0f2fe",
    "link_color": "#111827",
    "link_hover": "#0369a1",
    "desc_color": "#6b7280",
    "badge_bg": "#0284c7",
    "badge_text": "#ffffff",
    "border_radius": 10,
    "padding": 16,
    "items": [...]
  },
  {
    "heading": "Taxes and reporting",
    "bg_color": "#f0fdf4",
    "heading_color": "#166534",
    "icon_color": "#16a34a",
    "icon_bg": "#dcfce7",
    "items": [...]
  }
]

All column color fields:

FieldDescriptionExample
bg_colorColumn background color#f0f9ff
heading_colorColor of the column heading#0369a1
icon_colorIcon color in this column#0369a1
icon_bgIcon background in this column#e0f2fe
link_colorLink text color#111827
link_hoverLink color on hover#0369a1
desc_colorDescription text color#6b7280
badge_bgBadge (pill) background#0284c7
badge_textBadge text color#ffffff
border_radiusCorner radius of the column in px10
paddingInner spacing of the column in px16

Level 4 — Per item: JSON color fields

Directly on the individual item (items[] level):

{
  "label": "Invoices",
  "desc": "Legally compliant and effortless invoicing",
  "url": "/invoices",
  "icon": "dashicons-media-document",
  "item_bg": "#fef9c3",
  "item_color": "#92400e",
  "item_icon_color": "#d97706",
  "item_badge_bg": "#f59e0b",
  "badge": "NEW",
  "badge_url": "/invoices-new"
}

All item color fields:

FieldDescriptionExample
item_bgBackground color of the item#fef9c3
item_colorText color of the link#92400e
item_icon_colorIcon color of this item#d97706
item_badge_bgBadge color of this item#f59e0b

Priority of color levels

Item JSON > column JSON > 🎨 Colors tab (per menu item) > plugin settings (global)

The most specific one wins — leaving a field empty always means: the next level up is used.


5. CTA bar

🖼️Screenshot: CTA bar below the panel (frontend)img/doc-cta-leiste.png · recommended 1400×420

The CTA bar appears as a strip at the bottom edge of the panel.

"CTA bar" tab

{
  "label": "Free tools for the self-employed.",
  "links": [
    { "label": "E-invoice generator", "url": "/tools/e-invoice" },
    { "label": "Invoice generator",   "url": "/tools/invoice" },
    { "label": "All free tools",      "url": "/tools" }
  ]
}

6. Method B: directly via HTML

If you want maximum control or use a page builder:

<div class="lmm-panel-columns">
  <div class="lmm-cols-area">

    <!-- Column with background color -->
    <div class="lmm-col lmm-col--colored" style="background:#f0f9ff;--lmm-heading-color:#0369a1;border-radius:10px;padding:16px">
      <p class="lmm-col-heading">Accounting</p>
      <ul class="lmm-col-items">

        <!-- Item with badge -->
        <li class="lmm-col-item lmm-has-badge">
          <a href="/e-invoicing" class="lmm-badge-link">
            E-invoicing · Perfectly prepared
          </a>
          <a href="/invoices" class="lmm-col-link">
            <span class="lmm-col-icon"><span class="dashicons dashicons-media-document"></span></span>
            <span class="lmm-col-text">
              <span class="lmm-col-label">Invoices</span>
              <span class="lmm-col-desc">Legally compliant and effortless invoicing</span>
            </span>
          </a>
        </li>

        <!-- Item with its own background color -->
        <li class="lmm-col-item lmm-item--colored" style="background:#fffbeb;border-radius:8px;--lmm-icon-color:#d97706">
          <a href="/banking" class="lmm-col-link">
            <span class="lmm-col-icon"><span class="dashicons dashicons-bank"></span></span>
            <span class="lmm-col-text">
              <span class="lmm-col-label">Banking</span>
              <span class="lmm-col-desc">Book incoming payments automatically</span>
            </span>
          </a>
        </li>

      </ul>
    </div>

  </div>

  <!-- Sidebar -->
  <div class="lmm-panel-sidebar">
    <div class="lmm-sidebar-group">
      <p class="lmm-col-heading">Extensions</p>
      <ul class="lmm-sidebar-items">
        <li><a href="/integrations" class="lmm-sidebar-link">Integrations</a></li>
      </ul>
    </div>
    <div class="lmm-sidebar-bottom">
      <a href="/invoicing-software" class="lmm-all-link">Invoicing software →</a>
    </div>
  </div>
</div>

7. JSON field reference and tester

Tip: The JSON tester validates all fields of this reference automatically.

Column level ([] array objects)

FieldTypeRequiredDescription
headingStringColumn heading (UPPERCASE in the design)
itemsArrayList of links
bg_colorHexBackground color of the column
heading_colorHexColor of the heading
icon_colorHexIcon color for all items of this column
icon_bgHexIcon background for all items of this column
link_colorHexLink text color
link_hoverHexLink color on hover
desc_colorHexDescription text color
badge_bgHexBadge background for all items of this column
badge_textHexBadge text color
border_radiusNumberCorner radius in px (e.g. 10)
paddingNumberInner spacing in px (e.g. 16)

Item level (items[] array objects)

FieldTypeRequiredDescription
labelStringLink text
urlStringTarget URL
descStringDescription line in gray
iconStringDashicons class (e.g. dashicons-dashboard)
imageStringImage URL (only for the "Cards" panel type)
badgeStringPill text above the item
badge_urlStringTarget URL of the badge
item_bgHexBackground color of this item
item_colorHexText color of this item
item_icon_colorHexIcon color of this item
item_badge_bgHexBadge color of this item

Note: Always write hex colors with #, e.g. "#ef4444". Leaving a field empty ("") or omitting it = the parent color is used.


✓ JSON Tester

Validate and format your panel JSON right here — the editor turns green for valid and red for invalid JSON. No data is transmitted.

Mode:

    Live preview — this is how SuperNav renders this JSON:

    8. CSS variables reference

    All colors can also be overridden directly as CSS variables.
    In Appearance → Theme Editor → style.css or Additional CSS:

    :root {
      /* Navbar */
      --lmm-navbar-bg:      #ffffff;
      --lmm-navbar-height:  64px;
      --lmm-navbar-border:  #e5e7eb;
    
      /* Panel */
      --lmm-panel-bg:       #ffffff;
      --lmm-panel-border:   #e5e7eb;
      --lmm-panel-radius:   12px;
      --lmm-panel-padding:  32px;
    
      /* Colors */
      --lmm-heading-color:  #ef4444;
      --lmm-link-color:     #111827;
      --lmm-link-hover:     #ef4444;
      --lmm-desc-color:     #6b7280;
      --lmm-icon-color:     #ef4444;
      --lmm-icon-bg:        #fef2f2;
      --lmm-icon-size:      20px;
      --lmm-badge-bg:       #6366f1;
      --lmm-badge-text:     #ffffff;
      --lmm-all-link-color: #6366f1;
      --lmm-cta-bar-bg:     #f9fafb;
      --lmm-cta-bar-link:   #6366f1;
      --lmm-overlay-blur:   2px;
    }
    

    9. Plugin settings

    WordPress Admin → Settings → SuperNav

    SettingDescriptionDefault
    Activation modeAll menus or only specific positionsAll menus
    Open viaHover or clickHover
    Open delayms until the panel opens50ms
    Close delayms until the panel closes (prevents flickering)200ms
    ColorsGlobal color pickers for all panels

    10. Theme compatibility

    Lireno theme (lireno-v1-3-160)

    The Lireno theme uses its own nav function. The following adjustment is needed in inc/landing-i18n.php:

    // In the function taxbot_landing_wp_main_top_nav_parts()
    // adjust the wp_nav_menu() call:
    wp_nav_menu(
        array(
            'theme_location' => 'main-top',
            'container'      => false,
            'menu_class'     => 'tb-main-top-menu lmm-nav-container',
            'fallback_cb'    => false,
            'depth'          => 3,
            'walker'         => class_exists('LMM_Walker') ? new LMM_Walker() : null,
        )
    );
    

    And at the end of style.css:

    /* SuperNav theme fix */
    ul.tb-main-top-menu.lmm-nav-container {
        display: flex !important;
        align-items: center;
        list-style: none;
        margin: 0; padding: 0; gap: 4px;
    }
    ul.tb-main-top-menu.lmm-nav-container > li.lmm-has-mega,
    ul.tb-main-top-menu.lmm-nav-container > li.lmm-has-dropdown {
        position: relative !important;
        list-style: none;
    }
    ul.tb-main-top-menu.lmm-nav-container > li.lmm-has-mega .lmm-mega-panel {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        margin-top: 4px;
        z-index: 9999 !important;
    }
    ul.tb-main-top-menu.lmm-nav-container > li.lmm-has-mega.lmm-align-right .lmm-mega-panel {
        left: auto !important;
        right: 0 !important;
    }
    

    Other themes

    If the plugin does not respond (panel does not open), check in the theme's functions.php whether wp_nav_menu() sets its own walker. If so, use this AI assistant prompt:

    The WordPress plugin "SuperNav" is not recognized in my theme.
    The theme calls wp_nav_menu() in [FILE] with theme_location '[LOCATION]'.
    Please add the walker parameter:
    'walker' => class_exists('LMM_Walker') ? new LMM_Walker() : null
    and extend menu_class with 'lmm-nav-container'.
    

    11. Common problems

    Panel does not open
    - Panel type set to "No mega panel"? → Change to "Columns with icons & descriptions"
    - Menu saved after the change?
    - Browser console: document.querySelectorAll('.lmm-has-mega').length — must be > 0
    - Plugin settings: set activation mode to "All menus"

    Panel flickers
    - Increase the close delay: Settings → SuperNav → Close delay → 300
    - Check theme CSS for position: static !important on <li>
    - Add the theme fix CSS to style.css (see theme compatibility)

    Icons not visible
    On pages rendering without wp_head(), Dashicons must be included via the theme filter taxbot_landing_lmm_head_html — see troubleshooting for the full code.

    JSON errors (red marker)
    - Only use double quotes ", no single quotes '
    - No comma after the last item in an array
    - Use the { } Format button — it shows syntax errors
    - Or use the JSON tester on this site

    Badge does not appear
    Both fields must be set: "badge" AND "badge_url"

    Colors not applied
    Check the priority: item JSON > column JSON > 🎨 tab > plugin settings
    Write hex colors correctly with #: "#ef4444" not "ef4444"

    Panel too far right / left
    The plugin detects edge overflow automatically. To force it manually:

    /* Always left-aligned */
    .lmm-has-mega .lmm-mega-panel { left: 0 !important; right: auto !important; }
    /* Always right-aligned */
    .lmm-has-mega .lmm-mega-panel { left: auto !important; right: 0 !important; }
    

    12. Dashicons reference

    Accounting & finance:
    dashicons-media-document    → document/invoice
    dashicons-bank              → banking
    dashicons-money-alt         → money
    dashicons-chart-bar         → bar chart
    dashicons-chart-area        → area chart
    dashicons-chart-line        → line chart
    dashicons-list-view         → list
    dashicons-grid-view         → grid
    dashicons-download          → export/download
    
    Contacts & people:
    dashicons-groups            → customer groups
    dashicons-businessman       → individual
    dashicons-store             → shop
    dashicons-email-alt         → email/orders
    
    Navigation & system:
    dashicons-dashboard         → overview
    dashicons-admin-tools       → tools
    dashicons-admin-plugins     → plugins/add-ons
    dashicons-randomize         → integrations
    dashicons-smartphone        → mobile app
    dashicons-share             → collaboration
    dashicons-format-image      → receipt capture
    dashicons-products          → products
    dashicons-sos               → help/support
    dashicons-format-chat       → FAQ/chat
    

    Full list: https://developer.wordpress.org/resource/dashicons/


    13. Panel type: cards with images

    🖼️Screenshot: cards panel with images (frontend)img/doc-karten-panel.png · recommended 1400×800

    This panel type shows cards with real photos, title and description — ideal for target groups, solutions or industries.

    Activation

    In the menu editor → expand the menu item → Panel type: cards with images

    JSON structure: "Columns & Links" tab

    The cards go into the first array element under items[]. Every card needs an image field with the full image URL from the WordPress media library.

    [
      {
        "heading": "Founding and business phases",
        "items": [
          {
            "label": "For founders",
            "desc": "Start your self-employment with digital accounting right away.",
            "url": "/founders",
            "image": "https://example.com/wp-content/uploads/founders.jpg"
          },
          {
            "label": "For sole proprietors",
            "desc": "Use your time wisely and rely on simple, clear accounting.",
            "url": "/sole-proprietors",
            "image": "https://example.com/wp-content/uploads/sole-proprietors.jpg"
          },
          {
            "label": "For companies",
            "desc": "Keep an eye on your finances and steer your company to success.",
            "url": "/companies",
            "image": "https://example.com/wp-content/uploads/companies.jpg"
          }
        ]
      }
    ]
    
    You must adjust the image URLs — replace the example URLs with your real media library URLs (see "Uploading images" below).

    Without an image: if no image is set, the icon field is displayed as a Dashicon symbol instead. This way the panel can also be used without images.

    Uploading images

    Images come from the WordPress media library:

    1. WordPress Admin → Media → Add New → upload the image
    2. Click the image → copy the URL from "File URL" on the right
    3. Paste this URL into the JSON as "image": "..."

    Recommended image size: 400 × 260 px (16:10 format), JPG or WebP

    "Sidebar" tab — right column with groups

    [
      {
        "heading": "For the self-employed",
        "items": [
          { "label": "For freelancers",      "url": "/freelancers",      "icon": "dashicons-desktop" },
          { "label": "For small businesses", "url": "/small-businesses", "icon": "dashicons-store" }
        ]
      },
      {
        "heading": "Starting a company",
        "items": [
          { "label": "Found an LLC online", "url": "/founding", "icon": "dashicons-flag" }
        ]
      },
      {
        "heading": "By industry",
        "items": [
          { "label": "Trades",       "url": "/trades",      "icon": "dashicons-admin-tools" },
          { "label": "Car workshop", "url": "/car-repair",  "icon": "dashicons-car" },
          { "label": "Gastronomy",   "url": "/gastronomy",  "icon": "dashicons-food" }
        ]
      }
    ]
    

    Bottom links (arrow link at the bottom of the sidebar)

    [
      { "label": "Discover all industries", "url": "/industries" }
    ]
    

    Difference to "columns with icons"

    AspectColumns with iconsCards with images
    ImageNo (icon only)Yes (photo/graphic)
    LayoutHorizontal link listGrid of cards
    Ideal forFeatures, functionsTarget groups, industries
    Number of items5–8 per column2–4 cards
    JSON fieldiconimage (URL)

    15. Multilingual (i18n)

    🖼️Screenshot: Tools → Menu translations with loaded keysimg/doc-i18n-uebersetzungen.png · recommended 1400×800

    SuperNav supports full multilingualism for DE/EN/FR/IT. There are two systems working together:

    System 1 — translating menu titles (🌐 field in the menu editor)

    For the top-level menu items (e.g. "Features", "Solutions"):

    1. Appearance → Menus → expand the menu item
    2. At the very bottom: 🌐 Translations (optional)
    3. Enter the translations directly:
    🇬🇧 English:  Features
    🇫🇷 Français: Fonctionnalités
    🇮🇹 Italiano: Funzionalità
    

    Save the menu. Leave empty = the WP navigation label (default language) is used.

    System 2 — translating panel contents (menu translations module)

    For all texts inside the panel (column headings, labels, descriptions, badges):

    1. WordPress Admin → Tools → Menu translations
    2. Select the menu → click Load
    3. The module automatically scans all JSON texts from the SuperNav panels
    4. Enter the EN/FR/IT translations
    5. Save

    The module automatically creates keys for all texts:

    ContextDE referenceENFR
    0.headingBuchhaltungAccountingComptabilité
    0.items.0.labelRechnungenInvoicesFactures
    0.items.0.descRechtskonform…Legally compliant…Conformément…
    1.headingSteuern und AuswertungTax and ReportingFiscalité et Analyses

    Import/export workflow (recommended for many texts)

    The fastest way to translate all panel texts:

    Export

    1. Tools → Menu translations
    2. Select the menu → Load
    3. Click Excel (.xlsx) or Google Sheets (CSV)
    4. The file is downloaded with all source texts as reference

    Translate

    • Fill in the EN/FR/IT columns in Excel
    • Or: import the CSV into Google Sheets → translate → export
    • Or: have the Excel file translated by DeepL or an AI assistant

    Import

    1. Upload the translated file under Choose file
    2. Select the mode: Merge (keep existing keys) or Replace
    3. Click Import from file
    4. Done — all translations are active immediately
    Tip: After every menu change (new items in the JSON), click Load again and re-export — this way all new texts end up in the Excel file.

    Important: re-scan after menu changes

    If you change JSON contents in the menu editor (new items, changed labels), click Load again in the module to capture the new texts.

    Activating a language

    The language is controlled via the ?lang= URL parameter:

    https://example.com/?lang=de   → German (default)
    https://example.com/?lang=en   → English
    https://example.com/?lang=fr   → French
    https://example.com/?lang=it   → Italian
    

    Overview: what is translated where

    ElementSystemWhere to configure
    Menu titles🌐 fieldMenu editor → menu item
    Panel headingsMenu translations moduleTools → Menu translations
    Item labelsMenu translations moduleTools → Menu translations
    Item descriptionsMenu translations moduleTools → Menu translations
    Badge textsMenu translations moduleTools → Menu translations
    Sidebar linksMenu translations moduleTools → Menu translations
    CTA barMenu translations moduleTools → Menu translations

    Version history

    VersionChanges
    v2.7.0Full i18n integration with the menu translations module (panel contents) and 🌐 field (menu titles)
    v2.6.0Direct translation fields (EN/FR/IT) per menu item in the menu editor
    v2.3.0Mobile accordion navigation
    v2.2.0Colors per column and per item via JSON (bg_color, item_bg, etc.)
    v2.1.0🎨 Colors tab in the menu editor with color picker per menu item
    v2.0.0Complete rewrite: robust hover, automatic panel positioning, plugin settings page
    v1.0.0First release

    SuperNav v3.10.6 — a product by KITech