Documentation

Theme Compatibility

Full mode versus content mode, block themes, WooCommerce products, and coexisting with Elementor, Divi and Bricks.

It works with any theme

There is no theme requirement. What changes between themes is how much of the page the plugin owns, and that is a setting.

The two render modes

Full mode — the plugin owns the whole document

No theme header, footer or sidebar template renders. Your header and footer come from the plugin's Global Sections. Theme styles still load via wp_head.

Use this for pages designed from scratch — landing pages, marketing pages, a homepage.

Content mode — your theme owns the frame

The theme provides header, footer and sidebar. The plugin's sections render into the content area only.

Use this for blog posts, and for pages that must sit inside an existing site's chrome.

Setting it

Per post type at Settings → Post Types, and overridable per post. So blog posts can default to content mode while Design Pages default to full mode, on the same site.

Render mode is set per post type, and overridable per post.View full size
Render mode is set per post type, and overridable per post.

Block themes

Fully supported, including for archive templates. Twenty Twenty-Five and friends need no special handling.

WooCommerce single products

Both render modes work on product pages. In full mode the plugin owns the product page including your global header and footer; in content mode it renders a hybrid template — theme header and footer, your sections as the product body.

That hybrid matters: WooCommerce builds product pages from its own hooks rather than the normal content area, so themes that render the product body their own way (X/Pro, Divi, most page-builder themes) would otherwise show your theme's frame around an empty product. The hybrid template works regardless of how the theme builds the page.

Add Products to the allowed post types in Settings, enable a product, and pick its render mode.

Coexisting with page builders

The plugin detects these on a per-post basis and disables itself on that post:

Elementor · Divi · Beaver Builder · Bricks · Brizy · Oxygen · Thrive · WPBakery

The other builder's data is never touched, and switching back is reversible. You can also disable a whole post type at Settings → Post Types.

This means a site can run Elementor on its existing pages and NoLeemits AI Design on new ones, indefinitely. They do not have to fight.

Putting a design inside another builder

Use the shortcodes: or drop a design into a normal post or another builder's page. Page CSS and external stylesheet links travel with the embed, emitted once per request.

Caching and optimization plugins

Standard HTML output, so WP Rocket, W3 Total Cache, LiteSpeed Cache and similar treat it like any theme output.

One thing to watch: JS-optimization features that strip inline scripts will break the admin editor — the editor-mode switch and the comments sidebar depend on an inline config block. Both scripts log a console warning naming the cause when this happens. The fix is to exclude ppd-admin from JS optimization.

jQuery

Not used, in the admin or on the front end. The plugin adds no jQuery dependency of its own.

SEO plugins

The plugin emits clean semantic HTML and does not duplicate Yoast, Rank Math or SEOPress — run yours alongside it. The built-in LocalBusiness JSON-LD is opt-in and shows a conflict notice when another SEO plugin is already emitting schema.