PolyCMS Menu Builder Guide
Overview
The PolyCMS Menu Builder provides an intuitive drag-and-drop interface for creating frontend navigation menus. Build complex menu structures with nested sub-menus, custom URLs, and fine-grained control over each menu item.
Creating a Menu
Navigate to Blog > Menus and click Create New Menu:
- Enter a Menu Name (e.g., "Main Navigation", "Footer Menu").
- Click Create Menu.
Adding Menu Items
The left panel provides content sources for menu items:
Pages
Select from existing CMS pages. Items automatically link to the page URL.
Categories
Add category archive links. Supports selecting nested categories individually.
Posts
Link directly to specific blog posts.
Tags
Add tag archive page links.
Custom URL
Enter any URL and link text for external links, anchor links, or custom paths.
Drag-and-Drop Ordering
Rearrange menu items by dragging them to the desired position:
- Reorder — Drag items up or down to change display order.
- Nest — Drag an item slightly to the right beneath another item to create a sub-menu. Sub-menus can be nested multiple levels deep.
Menu Item Options
Click any menu item to expand its settings:
| Setting | Description |
|---|---|
| Navigation Label | Display text shown in the menu |
| Title Attribute | HTML title attribute (tooltip on hover) |
| CSS Classes | Custom CSS classes for styling specific items |
| Target | _blank to open link in a new tab |
| URL | Link destination (auto-filled for pages/categories) |
Menu Locations
Themes define available menu locations (e.g., "Primary Menu", "Footer Menu"). After creating a menu, assign it to a location:
- Select the menu from the dropdown.
- Choose the target Menu Location.
- Click Save Menu.
Your active theme's template files render the assigned menu using polycms_render_menu().
Example Menu Structure
Home
About Us
├── Our Team
└── Careers
Blog
├── Web Development
└── Tutorials
Contact (target: _blank)
Best Practices
- Keep top-level items to 5–7 for optimal usability.
- Use descriptive navigation labels that match page titles.
- Test menu rendering on mobile devices — responsive themes collapse menus into hamburger navigation.
- Assign CSS classes for items needing special styling (e.g., CTA buttons).
Related Documentation
- Managing Pages — Create pages to link in navigation menus.
- Theme Management — Themes define menu locations.
- Building a Custom Theme — Implement
polycms_render_menu()in theme templates.