BuddyX

Per-Page Settings

Pro feature

Some pages on your site need to break the rules. A landing page might need a full-width hero with no sidebar. A long-form article might benefit from a narrower reading column. A pricing page might look better without the header. A members-only welcome page might need dark mode always-on regardless of the visitor's preference.

BuddyX Pro 5.1.0+ ships a Page Settings meta box that lets you override the site's global settings just for this one page or post. Open any page in the WordPress editor and look for the Page Settings panel in the right-side column.

This is a 5.1.0 feature. If you don't see Page Settings in the editor sidebar, make sure you're on BuddyX Pro 5.1.0 or later, and that you're editing a page, post, or supported custom post type.


What you can override per page

Setting Key What it controls
Sidebar _buddyxpro_page_sidebar Pick the sidebar layout (Left / Right / Both / None / Default) for this entry. Overrides the page-template or global default.
Hide site header _buddyxpro_page_disable_header Hides the site header on this entry. Useful for full-screen landing pages, sign-up flows, or "distraction-free" content.
Hide site footer _buddyxpro_page_disable_footer Hides the site footer on this entry. Pairs with "Hide site header" for full-bleed landing pages.
Content width _buddyxpro_page_content_width Override the content container width - Narrow (comfortable reading), Default (theme global), or Full (edge-to-edge).
Header style _buddyxpro_page_header_style Override the header style - useful when you want a transparent header over a hero image on this one landing page.
Color mode _buddyxpro_page_color_mode Force Light, Dark, or Use Site Default. The site default + visitor toggle are honored unless you set Force Light or Force Dark here - those win regardless of visitor preference.
Site loader _buddyxpro_page_loader Show, Hide, or Use Site Default for the site loader overlay (the loading animation that briefly covers the screen on page load).

Each setting defaults to "Use site default" - meaning until you explicitly pick a value, the page falls through to the global Customizer setting. That makes per-page overrides safe: existing pages don't change behavior on upgrade.


Where the meta box appears

Page Settings appears on these content types out of the box:

  • Pages (the most common surface)
  • Posts (less common, but useful for special long-form articles)
  • Products (when WooCommerce is active)
  • Courses, Lessons, Topics (when LearnDash or another LMS is active)
  • Most other public, editable custom post types

If you want Page Settings on a custom post type your plugin registers, use the buddyxpro_page_settings_post_types filter:

add_filter( 'buddyxpro_page_settings_post_types', function ( $supported ) {
    $supported[] = 'event';      // your custom post type slug
    $supported[] = 'portfolio';  // and another
    return $supported;
} );

Common workflows

Build a full-screen landing page

You want a page with no header, no footer, edge-to-edge content - typical for a marketing landing page or a launch teaser.

  1. Create or open the page (Pages → Add New)
  2. Build the page content with blocks / patterns (use the Hero pattern category as a starting point)
  3. In the right-side editor panel, scroll to Page Settings
  4. Set:
    • Hide site header: Yes
    • Hide site footer: Yes
    • Sidebar: None
    • Content width: Full
  5. Click Publish (or Update)
  6. View the page - it should now render as a single full-bleed surface

Force dark mode on one page

You want a specific page (e.g. a "Night Mode Resources" page, a tech-themed launch page) to always display in dark colors regardless of the visitor's preference.

  1. Open the page in the editor
  2. Page Settings → Color modeForce dark
  3. Publish

The page will render dark for every visitor. The Color Mode toggle still appears (if you have it enabled globally) but clicking it on this page has no effect - the page-level force wins.

Use a different sidebar on one post

You want most of your blog posts to have a right sidebar with recent-posts widgets, but one specific post needs a left sidebar with a custom widget area instead.

  1. Open the post
  2. Page Settings → SidebarLeft
  3. Publish

This post now uses the left sidebar layout; all other posts continue to use the global default.

Hide the site loader on one specific page

You have the site loader enabled globally for the polished first impression, but a specific page (e.g. an embedded form, a fast-loading utility page) doesn't need it.

  1. Open the page
  2. Page Settings → Site loaderHide on this entry
  3. Publish

How priority works

When a setting can come from multiple places, the resolution order is:

  1. Per-page override (Page Settings on this specific entry) - highest priority
  2. Per-template setting (e.g. WooCommerce single-product sidebar override) - next
  3. Customizer global setting (the site-wide default in Appearance → Customize) - fallback

This means you can set a sensible global default in the Customizer (e.g. "right sidebar on all blog posts") and override per-entry only when you need to.


What's NOT per-page (and why)

Some settings don't have a per-page override on purpose:

  • Colors - the global color palette applies everywhere. Overriding colors per-page would require custom CSS, not a meta-box switch.
  • Fonts - same as colors. Site-wide typography is a coherence decision, not a per-page choice.
  • Header layout - the layout itself (which header design ships) is site-wide; you can hide the header per-page (above) but not swap to a different header layout per-page.
  • Menus - menu assignment is by menu location, not per-page.

If you need any of these per-page, talk to us - we may consider it for a future release.


Related

  • Site Loader settings - the global setting that Page Settings can override
  • Dark Mode - the global Color Mode setting that Page Settings can override
  • Sidebar Layouts - the global sidebar setting that Page Settings can override

Got a question? We're happy to help - drop us a line at support@wbcomdesigns.com.