Skip to content

Why Dynamic Templates Don’t Support Theme Settings

The Theme Settings Metabox is intentionally disabled when editing Dynamic Templates. This decision is based on both performance considerations and best practices. This documentation article will cover the reasons why and explain what you should be doing instead to customize your dynamic templates.

Purpose of the Theme Settings Metabox

The Theme Settings Metabox allows users to override specific layout and design elements on a per-page basis — such as toggling the header, footer, or page title. These overrides are meant for special, one-off pages (e.g., landing pages) where you need a different layout from the rest of the site.

Using these settings across multiple posts defeats their purpose and introduces unnecessary complexity, creating a “lock-in” effect.

If you find yourself needing consistent layout changes across many posts, it’s a better practice to adjust settings globally or modify them at the post type level.

Why Theme Settings aren’t Available for Dynamic Templates

Dynamic Templates in Total are designed for broad, reusable layout control and can be used for:

  • Single post templates
  • Archive templates
  • Custom headers or footers
  • Content parts
  • etc.

Allowing the Theme Settings Metabox in this context introduces several issues:

Performance Overhead

Each Theme Settings field is stored as a custom field. Allowing these fields to be attached to a dynamic template would mean that every time a post loads, WordPress would need to:

  • Determine if it’s using a dynamic template
  • Check if the template has overrides
  • Apply those overrides before rendering

This increases query complexity and can slow down page loads.

Rendering Limitations

Many settings controlled by the metabox (like disabling the header or footer) need to be applied before the page is rendered. But at that point, WordPress doesn’t know whether the page uses a dynamic template or what settings might be attached to it.

Conceptual Misalignment

Dynamic Templates are meant to define the structure and layout of site sections in a global manner — not to act as storage for individual page-level options. Mixing the two roles leads to confusion and maintenance challenges.

Recommended Approach

If you want to control layout settings for a particular post type:

  • Use the Customizer for built-in post types to adjust global settings for the post type (for more control, disable the built-in post type via the Theme Panel and re-register it using the Post Types Unlimited plugin instead).
  • Use the Post Types Unlimited plugin to configure layout behavior globally for custom post types.
  • Use theme filters to customize your post type globally.

If you need to build a custom layout for your post type without headers, footers, or other theme elements:

  • Use the Blank Template option in the Post Types Unlimited plugin.
  • This removes all theme elements and renders only the content of your dynamic template, giving you full control over the design.
  • You can then create and insert a custom header, footer, or any other elements as needed directly inside the template.
Need more control over your post type?

If you think the Post Types Unlimited plugin could benefit from added options to better control your post type, reach out with your suggestions. We are definitely open to enhancing the plugin’s capabilities!

Back To Top