GoBuildWP

ThemesPro

OceanWP MCP: curated Customizer writes, per-page overrides and Ocean Extra

OceanWP has around a thousand Customizer settings and hundreds of render hooks, so this OceanWP MCP module draws a line. A curated allowlist of high-leverage theme mods, a header writer, a typography preset, WooCommerce feature flags and per-page overrides are typed abilities. Library templates and modules need the Ocean Extra companion plugin. Anything past that line is a named PHP snippet, and the skill says so openly.

AI clientyour-site.comVerify site policy

Use our 'Holiday header' library template as the site header, and give the Gift Guide page a full-width layout with no sidebar.

  1. wppilot/oceanwp-check-setupRead

    Confirms the theme and Ocean Extra meet their floors and reports whether library and module capabilities are available.

  2. wppilot/oceanwp-list-library-itemsRead

    Finds the Holiday header's post id among the library templates.

  3. wppilot/oceanwp-set-header-configWrite

    Sets style to custom and passes the template id, since a custom template is ignored under any other header style.

  4. wppilot/oceanwp-get-page-overridesRead

    Shows which layout keys the Gift Guide page already overrides and which it inherits.

  5. wppilot/oceanwp-set-page-overridesWrite

    Writes the layout override after validating every value first, so a bad value leaves the page untouched.

Proposed sequence from source declarations; not a recorded task or proof of client compatibility. Inspect saved state and browser or provider results separately.
Edition
Pro
Abilities
15
Requires
WordPress 6.9+, PHP 8.0+, OceanWP theme 4.1.0+, Ocean Extra (extra settings operations) 2.0.0+

Limits

Where the allowlist ends

  • Settings outside the curated list are rejected per key without aborting the rest of the call; the skill documents get_theme_mod and set_theme_mod snippets for them instead.
  • The typography preset replaces each typography object wholesale, so sub-keys you leave out are dropped. Read first and resend the ones to keep.
  • Hooks are listed, not attached: add_action and add_filter go through execute-php with names from the catalogue.
  • Library, template and module abilities return oceanwp_requires_ocean_extra when the companion is missing, and WooCommerce flags need WooCommerce active.
  • All Customizer, header, typography, WooCommerce and template writes restore the theme mods row; module toggles restore the modules option; page overrides restore that post.

Data model

theme_mods_oceanwp, ocean_ post meta and oceanwp_modules

Every OceanWP Customizer value is a theme mod prefixed ocean_, stored together in the theme_mods_oceanwp row. Typography values such as ocean_body_typography are objects holding family, weight, sizes per device, line height and letter spacing. Per-page overrides are ocean_ post meta on the post itself, and a read tells you for each key whether the page sets it or inherits the global value.

Ocean Extra adds oceanwp_library posts, the reusable header, top bar, footer widget and 404 templates, and chooses which one renders by storing its id in a matching theme mod. The header template only takes effect when the header style is custom. Modules such as Sticky Header, Side Panel or Cookie Notice are switched in an oceanwp_modules option, and the change is visible on the next request after Ocean Extra reloads.

Worked example

A custom header and full-width landing page

Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.

The library header renders site-wide and the Gift Guide page drops its sidebar. Passing null for that override later removes it and returns the page to the global layout.

A full-width layout without a sidebar does not imply a transparent header. Review execute-php capability, Developer Full Access and confirmation separately when attaching a hook; that escape hatch is outside the 15 module calls.

  1. oceanwp-check-setup

    Confirms the theme and Ocean Extra meet their floors and reports whether library and module capabilities are available.

  2. oceanwp-list-library-items

    Finds the Holiday header's post id among the library templates.

  3. oceanwp-set-header-config

    Sets style to custom and passes the template id, since a custom template is ignored under any other header style.

  4. oceanwp-get-page-overrides

    Shows which layout keys the Gift Guide page already overrides and which it inherits.

  5. oceanwp-set-page-overrides

    Writes the layout override after validating every value first, so a bad value leaves the page untouched.

Ocean Extra slots, the override allowlist and module timing

Which ocean_ post meta a single page can actually override

Owners looking for an OceanWP MCP that can restyle one landing page usually expect the whole OceanWP metabox to be reachable. It is not. oceanwp-set-page-overrides accepts a short list of keys the theme reads at render time: ocean_post_layout (right sidebar, left sidebar, both sidebars, full width or full screen), ocean_both_sidebars_style for the column order when both sidebars show, four breadcrumb colours, and the post-format media fields for video, quote and link posts. Everything else in the metabox, such as hiding the title bar on one page, is outside the typed surface.

Two behaviours make this safe to hand over. Every value is checked against that allowlist before anything is saved, so one bad colour or an unknown key means the post keeps all of its existing meta. And null deletes the key with delete_post_meta, which is how a page goes back to inheriting the global Customizer value. The ability refuses posts that are trashed, auto-drafts or revisions, so point it at the published page id.

oceanwp-apply-library-template knows four slots and the theme mod behind each: header writes ocean_header_template, topbar writes ocean_top_bar_template, footer_widgets writes ocean_footer_widgets_template, and custom_404 writes ocean_error_page_template. The template has to be an oceanwp_library post that is published; a draft is refused with its current status named, so publish it in Ocean Extra's library first.

The header slot has the extra condition the page above mentions, but the other three behave differently: the top bar and footer templates still depend on the top bar and footer widgets being displayed at all, which are separate allowlisted settings (ocean_top_bar and ocean_footer_widgets). When a mounted template does not render, read those display switches with oceanwp-get-settings before assuming the template is wrong.

Why oceanwp-list-modules can still say false right after an enable

Ocean Extra's module switches live in the oceanwp_modules option, and oceanwp-enable-module writes the slug into it. The enabled flag that oceanwp-list-modules reports is not read from that option. It checks whether the module's PHP class is loaded in the current request, and Ocean Extra only loads a module's bootstrap when the page is built. So a list call in the same request as the enable can report false even though the write succeeded. Ask the agent to list modules again on a fresh call, or load the front end, before treating it as a failure.

Module toggles are serialised under their own lock, separate from the theme mods lock that Customizer, header, typography and WooCommerce writes share. Two agents enabling Sticky Header and changing the header height at the same moment cannot overwrite each other's row.

OceanWP's WooCommerce switches and the checkout you should test after them

oceanwp-set-woo-features covers the shop toggles owners change most: the off-canvas filter sidebar, distraction-free cart and checkout, quick view, the floating add-to-cart bar, the hover image swap, AJAX add to cart, the menu cart style and the mobile mini cart. It returns oceanwp_requires_woocommerce when the store plugin is inactive. Distraction-free checkout strips the header and footer from the checkout page, so after switching it on, place a test order on staging with each payment method you offer and confirm trust badges or notices your theme hooks added are still visible.

What an OceanWP agent may do under each safety profile

None of the module's abilities is classed destructive, so Production Safe permits ordinary writes for a user with manage_options, subject to the enabled abilities and any additional approval rules, and on Read Only the agent can still list panels, modules, library items and hooks and read every allowlisted setting and override. That makes a Read Only audit a reasonable first connection on a live store. Every write is recorded so it can be put back from the change ledger, as the limits above describe.

Hooks are the exception. oceanwp-list-hooks names filters such as ocean_display_page_header or ocean_display_footer_widgets, but attaching one needs execute-php, which is a critical ability: it runs only on Developer Full Access, only with confirm, and a snippet is not reversed by the ledger the way a theme mod write is. Prefer a page override or a Customizer switch when one exists. The OceanWP reference lists every parameter.

  • "Read only: which pages override ocean_post_layout, and to what?"
  • "Mount our published 'Black Friday bar' library post as the top bar and confirm ocean_top_bar is switched on."
  • "Turn on quick view and AJAX add to cart, then tell me what changed and what was already set."

Questions

OceanWP questions

Why doesn't my OceanWP library header show after mounting it?

OceanWP reads the header template only when the header style is custom. The header writer can set both in one call.

Can an AI change any OceanWP setting?

Through typed abilities, only the allowlisted ones. Others can be changed with a documented theme mod snippet through execute-php, which you should review before approving.

Does it need Ocean Extra?

Customizer reads and writes, overrides and hooks work on the theme alone. Library templates and modules need Ocean Extra at its supported version.

Where these facts come from

GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.

OceanWP is a separate product; no partnership or endorsement is implied.

Try it on OceanWP in Read Only first