| Summary | Create custom sidebar menus for selected groups | |
| Preview | Join this Theme Creator group and then preview here | |
| Repository | https://github.com/Lillinator/discourse-group-sidebar-menus | |
| Install Guide | How to install a theme or theme component | |
| New to Discourse Themes? | Beginner’s guide to using Discourse Themes |
Install this theme component
Overview
This Discourse theme component gives forum administrators the ability to create custom sidebar menus that are only accessible to members of selected groups.
Key Features:
- Group-based menu visibility - Menu sections are only rendered in sidebar for authorized users
- Object-based configuration - Easy-to-use settings UI for creating menus
- Multiple sections - Create unlimited menu sections for different groups (within reason)
- Admin quick-edit link - Pencil icon in menu headers links admins directly to component settings
Some Use Cases
- Staff-only resources and quick links
- Category moderator shortcuts
- Custom group portals (project teams, study groups, book clubs, VIP members)
- Links to parent or partner website resources
Settings
Menu Sections (menu_sections)
Opens the object settings editor to configure custom group menu sections.
Section Properties
| Property | Description |
|---|---|
| Menu title | Title displayed as the sidebar section header |
| Allowed groups | Groups permitted to view this menu section (max: 20 groups per section) |
| Menu links | Collection of links to display in this section (max: 20 links per section) |
Link Properties
| Property | Description |
|---|---|
| Icon | FontAwesome icon name (e.g., circle-info, star, user-group). May need to be added to Admin > All site settings > svg icon subset |
| Text | Display label for the link |
| URL | Link destination - supports both relative paths (/faq, /my/preferences) and absolute URLs (https://example.com) |
Installation and Configuration
- Install the theme component as per Installing a theme or theme component.
- Go to the
Objects setting editor - Click the
+ new_menu_sectionbutton to set up the first custom menu section - Give the new menu a title in the
Menu titlefield, and then select the groups you want to have access to it. - Click the
+ new_menu_sectionto add another section, or Save changes.
Admin configuration screenshots with example set up
Fresh install - go to Objects setting editor.
Example scenario with 2 custom menus and 3 users, one who is an admin:
@Catraloves cats and is a member ofpinkgroup, which will have access to theCat Menu@HelloKittylikes dogs and is a member ofpurplegroup, which will have access to theDog Menu@Lillyis a member ofpurplebecause she owns a dog and dogs are better. However, she is also a forum admin, and admins will have access to theCat Menubecause cats need more supervision![]()
Create a new custom menu - for our example, create Cat menu and add the groups allowed to have access to it - pink and admins. Then click the + menu_link button to set up the links for the new menu.
Add the menu links - 1. Fontawesome icon name, 2. text to display for the link, and 3. the URL, relative or absolute. Click the + menu_link button to add another link to this menu.
Create another custom menu section called Dog menu, give only group purple access and configure the links:
Screenshots of resulting sidebar menu access
User @Catra has the Cat menu! ![]()
User @HelloKitty has the Dog menu! ![]()
Admin user @Lilly has both menus and can edit them! ![]()
Configuration Example
Menu Title: "Cat Stuff"
Allowed Groups: team-cat
Links:
- Icon: link
Text: Cat videos & photos
URL: /t/cat-videos-and-photos/123
- Icon: magnifying-glass
Text: Cat wiki
URL: https://en.wikipedia.org/wiki/Cat
Important Notes
Admin Access
Admins must add themselves to groups to see menus configured for those groups. Admin status alone does not grant access to all custom menus. This is intentional! Also, admins who belong to a menu’s allowed groups will see a pencil icon in the section header that links to component settings.
Group Configuration
- The
everyonegroup is not supported - Use the native sidebar footer UI to create global custom menus for all users, including anonymous visitors. - Maximum of 20 groups per menu section. If you need more, create duplicate sections with different group assignments.
- Users in multiple groups will see all menu sections they have access to.
Testing & Organization
Use test accounts to verify correct access for different group combinations. Keep track of your menu configurations to avoid confusion as complexity grows; an access matrix or similar documentation is recommended for larger forums with many groups.
Security Considerations
This component provides UI-level access control only. It controls menu visibility, not resource access - this component only controls what is rendered in the sidebar, not who can access the actual resources.
Always rely on Discourse’s built-in permission system to secure actual resources:
- Configure category permissions properly
- Set topic visibility restrictions
- Use group-based access controls for content
- Ensure private resources require authentication
Administrators best practice:
Configure linked category security permissions and group membership separately - for example: a menu link to a private category must have that category’s permissions properly configured. Administrators are responsible for ensuring links to outside resources are appropriately authorized for selected groups.
This was a collaborative project with @Moin - her input, inspiration and feedback were invaluable.







