Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
Read/Write WordPress Setting
Read, and when asked, write a single WordPress setting by name — including the theme option that holds a theme's own tracking code.
- Type
- Makes changes
- Credits
- 1
- Platform
- WordPress
- Approval
- Preview first, applied after you approve
What it does
Read, and when asked, write a single WordPress setting by name — including the theme option that holds a theme's own tracking code.
write=false reads the current value. Themes and plugins keep settings like tracking snippets in these options, which is where a stray tag usually lives when wordpress_tracking reports it as an option. Writing returns the previous value so the change can be undone.
ARRAY OPTIONS: many plugins store a whole settings tab as one array option. Reading now tells you which case you are in — `exists` says whether the option is in the database at all, and `type` says array or string, so "not set yet, plugin default applies" is no longer indistinguishable from "array we could not read". An ARRAY option is written (write) with value_json (a real object/list), not value: writing plain text over an array corrupts it, so the connector refuses that. force_type=true overrides the refusal. Needs Connector 0.6.1 or newer.
ONE KEY INSIDE AN ARRAY OPTION: pass key=... to change a single setting inside an array option and leave every other key untouched. This is the normal case for plugins that keep a whole settings tab in one option: Yoast's `wpseo_titles` holds more than 150 keys, so turning author archives into noindex means flipping `noindex-author-wpseo` alone. Without key you would have to send the entire array back and risk the site-wide title templates. The reply gives previous_value, new_value, how many keys the option still has, and `applied` read back from the database, so a change that did not stick is not reported as success. A key that does not exist is refused with the closest matching names; it is not created. Needs Connector 0.8.1 or newer. Inside an array option most settings are true/false or numbers, not text: pass them as value_json=false / value_json=3 so the type is kept. value="false" would store the text "false", which PHP reads as ON.
PROTECTED SETTINGS: a handful of options can lock the site out or change who may sign in — siteurl, home, users_can_register, default_role and friends. Writing one of those is refused unless you also pass force=true. That is the deliberate override for the real cases (moving a site to a new domain, switching to https): read the current value first, tell the owner exactly what will change, and only then repeat the call with force=true. A wrong siteurl makes the site unreachable from the browser.
NAMES WITH A DOT: plugins that keep every setting under one prefix name them like `litespeed.conf.cache-exc`. Reading those needs Connector 0.7.7 or newer; older versions answer plugin_outdated for the dotted name only, while plain names on the same site work. If you see that, the site simply needs the connector update. Writing a dotted name works; reading it first shows its current structure.
MCP: wordpress_option
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| name | string | Required | · | Human-readable name for the resource being created or updated. |
| value | string | Optional | · | Value to store, set, compare, or send, in the exact format required by this operation. |
| write | boolean | Optional | false | Whether to enable write for this operation. |
| site_url | string | Optional | · | Exact URL of the connected WordPress site to target when more than one site is available. |
| force | boolean | Optional | false | Whether to enable force for this operation. |
| value_json | array|boolean|integer|number|object | Optional | · | Value json value for wordpress option. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible. |
| force_type | boolean | Optional | false | Provider-specific force type accepted by this operation. Use a supported value from the tool documentation or returned provider data. |
| key | string | Optional | · | Exact key value for wordpress option. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
Related tools
list_wordpress_sitesBulk Find & Replace (WordPress)wordpress_bulk_replaceWordPress WP-CLI Commandwordpress_cliList WordPress Contact Formswordpress_contact_formsWordPress Core Info Fileswordpress_core_filesCreate WordPress Postwordpress_create_postWordPress Critical CSS (status / regenerate)wordpress_critical_cssEdit WordPress Menuwordpress_edit_menuEdit WordPress Page Designwordpress_edit_page_design