Custom Layouts Module Documentation
For more details check out the full Neve documentation and Neve PRO documentation.
Important: The Custom Layouts module is part of all three Neve PRO plans: Personal, Business and Agency.
🧰 Using the Module
1. Navigate to Neve > Custom Layouts.
2. Click on the Add New button.

3. From this moment, you need to decide what type of custom layout you want to create, and depending on what you choose, the settings and locations will be different.

In the Conditional Logic section, you decide the criteria based on which the Custom Layout will be used on a page or not.
Depending on that, you will also have access to dedicated Magic Tags to display dynamic content for each page.

Layout Types
The following layout types are available when creating a Custom Layout:
Page Structure
- Header: Add content to the header area.
- Inside Content: Insert content within the main content area.
- Footer: Add content to the footer area.
Content Types
- Single Post: Custom layout for individual posts.
- Single Page: Custom layout for individual pages.
- Search: Custom layout for search results pages.
- Archives: Custom layout for archive pages.
Special Cases
- 404 Page: Custom layout for the "not found" page.
- Individual: Custom layout for specific content items.
- Hooks: Insert content at a specific theme hook location. See Neve Hooks for details.
- Maintenance Mode: Displays a temporary maintenance page to all non-logged-in visitors while the site is being updated.
- Coming Soon Mode: Displays a landing page for sites that are still under construction.
- Sidebar: Add content to the sidebar area.
Neve Hooks
Custom Layouts can be inserted in specific places (hooks) of the theme. To have a visual representation of where each hook is located, just click on the Show Hooks link in the top admin bar, when visiting your site.

Troubleshooting: Custom Layout or blocks not appearing
If your Custom Layout changes are visible in the editor but not on the live site, check the following before contacting support:
- Make sure the layout is Published and that its Conditional Logic matches the page where you are testing.
- Test as a visitor (logged out), because some layouts are configured by user role or logged-in state.
- Clear all caches that can serve old page output:
- Browser cache
- WordPress/page cache plugin cache
- Server cache (hosting-level)
- CDN cache (if enabled)
- Retest in a private/incognito window and, if possible, from another device or network.
If the Custom Layout is not loaded at all
- Recheck the layout type and where it should appear (for example Header, Hooks, Single Post, or Archives).
- Review Conditional Logic include/exclude rules and make sure they match the exact page type you are testing.
- Confirm there are no other Custom Layouts with overlapping conditions that could override the expected output.
If the layout loads but a block inside it does not display
- The layout can be active while an embedded block still fails to render or trigger on the front end.
- This is common with dynamic or trigger-based blocks (for example Otter Popup blocks) when cached page output is still being served.
- After changing either the block settings or the Custom Layout conditions, purge all caches again and retest in an incognito window.
When using triggered blocks such as Otter Popup
Popup triggers and query-parameter-based behavior can appear inconsistent if a cached version of the page is loaded.
⚠️ Warning: If your layout conditions are correct but the popup does not trigger, clear browser, plugin, server, and CDN caches, then test again in a private/incognito window or from another device/network.
