[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"$ffegMv9C1w9Hy2EHm7Or-rJE4gcInJycqCcBABtwhoms":3},[4,81,143],{"id":5,"date":6,"date_gmt":6,"guid":7,"modified":6,"modified_gmt":6,"slug":9,"status":10,"type":11,"link":12,"title":13,"content":15,"excerpt":18,"author":19,"featured_media":20,"comment_status":21,"ping_status":21,"sticky":17,"template":16,"format":22,"meta":23,"categories":24,"tags":25,"class_list":26,"post_image_original":34,"devto_meta":35,"_links":37},85,"2026-05-22T09:18:36",{"rendered":8},"https:\u002F\u002Flab.aiarnob.com\u002F?p=85","wordpress-7-0","publish","post","https:\u002F\u002Flab.aiarnob.com\u002Fwordpress-7-0\u002F",{"rendered":14},"WordPress 7.0",{"rendered":16,"protected":17},"",false,{"rendered":16,"protected":17},1,87,"open","standard",{"footnotes":16},[19],[],[27,11,28,29,30,31,32,33],"post-85","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","https:\u002F\u002Flab.aiarnob.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002Fwp-7.0-blog-coverphoto-1.jpg",{"edited_at":36,"published_at":36,"reactions":36,"comments":36,"reading_time":36,"body_markdown":36},null,{"self":38,"collection":44,"about":47,"author":50,"replies":54,"version-history":57,"predecessor-version":60,"wp:featuredmedia":64,"wp:attachment":67,"wp:term":70,"curies":77},[39],{"href":40,"targetHints":41},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F85",{"allow":42},[43],"GET",[45],{"href":46},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts",[48],{"href":49},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Ftypes\u002Fpost",[51],{"embeddable":52,"href":53},true,"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fusers\u002F1",[55],{"embeddable":52,"href":56},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=85",[58],{"count":19,"href":59},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F85\u002Frevisions",[61],{"id":62,"href":63},88,"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F85\u002Frevisions\u002F88",[65],{"embeddable":52,"href":66},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia\u002F87",[68],{"href":69},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=85",[71,74],{"taxonomy":72,"embeddable":52,"href":73},"category","https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=85",{"taxonomy":75,"embeddable":52,"href":76},"post_tag","https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=85",[78],{"name":79,"href":80,"templated":52},"wp","https:\u002F\u002Fapi.w.org\u002F{rel}",{"id":82,"date":83,"date_gmt":83,"guid":84,"modified":86,"modified_gmt":86,"slug":87,"status":10,"type":11,"link":88,"title":89,"content":91,"excerpt":93,"author":19,"featured_media":95,"comment_status":21,"ping_status":21,"sticky":17,"template":16,"format":22,"meta":96,"categories":97,"tags":98,"class_list":101,"post_image_original":105,"devto_meta":106,"_links":107},77,"2026-05-14T12:35:54",{"rendered":85},"https:\u002F\u002Flab.aiarnob.com\u002F?p=77","2026-05-17T10:09:48","how-to-set-up-an-existing-wordpress-vip-site-locally-on-macos","https:\u002F\u002Flab.aiarnob.com\u002Fhow-to-set-up-an-existing-wordpress-vip-site-locally-on-macos\u002F",{"rendered":90},"How to Set Up an Existing WordPress VIP Site Locally on macOS",{"rendered":92,"protected":17},"\n\u003Ch1 class=\"wp-block-heading\">\u003C\u002Fh1>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">A quick guide to cloning a live WordPress VIP site to your MacBook for local development. Follow these commands in order.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 1: Install the Required Tools\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Install Docker Desktop and VIP-CLI:\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>brew install --cask docker\nnpm install -g @automattic\u002Fvip\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">After installing Docker, open it from your Applications folder so it starts running in the background.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Verify all tools are installed:\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip -v &amp;&amp; node -v &amp;&amp; npm -v &amp;&amp; docker --version\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cblockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n\u003Cp class=\"wp-block-paragraph\">\u003Cstrong>Please skip Step 2 &amp; Step 3 if you are setting up an existing WordPress VIP site from a backup instead of cloning the WPVIP GitHub repository.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 2: Log In to VIP-CLI\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip logout   # in case of stale session\nvip login\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">The \u003Ccode>logout\u003C\u002Fcode> command clears any old session. \u003Ccode>vip login\u003C\u002Fcode> opens a browser window to authenticate with your VIP account.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 3: Clone the Site Repository\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>cd ~\u002FSites\ngit clone git@github.com:wpcomvip\u002Fyour-site-name.git\ncd your-site-name\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Replace \u003Ccode>your-site-name\u003C\u002Fcode> with the actual repository name from your VIP application.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 4: Create the Local Environment\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip dev-env create --slug=your-site\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">You can name &#8211;slug anything unique you want but follow the rules lowercase letters, numbers, and hyphens only. No spaces, no underscores, no special characters. Common conventions: \u003Ccode>wp-vip-test-site\u003C\u002Fcode>.\u003Cbr>\u003Cbr>A setup wizard will appear. Match production for PHP version, WordPress version, and multisite settings. When asked for the application code source, choose \u003Cstrong>Local folder\u003C\u002Fstrong> and provide the path to your cloned repo.\u003C\u002Fp>\n\n\n\n\u003Cul class=\"wp-block-list\">\n\u003Cli>\u003Cstrong>Site title\u003C\u002Fstrong>: anything\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>Multisite\u003C\u002Fstrong>: match production\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>PHP version\u003C\u002Fstrong>: match production\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>WordPress version\u003C\u002Fstrong>: match production\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>Source for application code\u003C\u002Fstrong>: choose \u003Cstrong>Local folder\u003C\u002Fstrong> and give it the absolute path to your cloned repo (e.g. \u003Ccode>\u002FUsers\u002Fyou\u002FSites\u002Fyour-site-name\u003C\u002Fcode>)\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>Source for mu-plugins\u003C\u002Fstrong>: \u003Ccode>auto\u003C\u002Fcode> (pulls VIP&#8217;s mu-plugins automatically)\u003C\u002Fli>\n\n\n\n\u003Cli>\u003Cstrong>Source for VIP MU plugins\u003C\u002Fstrong>: \u003Ccode>auto\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 5: Start the Environment\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip dev-env start --slug=your-site\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Once started, you&#8217;ll see the local site URL, login credentials, and an auto-login link. Save these for later.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 6: Import the Database\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip dev-env import sql \u002Fpath\u002Fto\u002Ffile.sql --slug=your-site\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Replace \u003Ccode>\u002Fpath\u002Fto\u002Ffile.sql\u003C\u002Fcode> with the actual path to your SQL dump on your Mac.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Step 7: Import Media Files\u003C\u002Fh2>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode>vip dev-env import media \u002Fpath\u002Fto\u002Fwp-content\u002Fuploads --slug=your-site\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Replace \u003Ccode>\u002Fpath\u002Fto\u002Fwp-content\u002Fuploads\u003C\u002Fcode> with the path to the uploads folder on your Mac. The folder should contain year-numbered subfolders (\u003Ccode>2023\u002F\u003C\u002Fcode>, \u003Ccode>2024\u002F\u003C\u002Fcode>, etc.).\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Done\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Your local copy of the VIP site is now running. Open the site URL shown after \u003Ccode>vip dev-env start\u003C\u002Fcode> and log in with the credentials provided.\u003C\u002Fp>\n\n\n\n\u003Ch2 class=\"wp-block-heading\">Day-to-Day Useful Commands\u003C\u002Fh2>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">Once your environment is set up, these are the commands you&#8217;ll use most often.\u003C\u002Fp>\n\n\n\n\u003Cpre class=\"wp-block-code\">\u003Ccode># List all your local environments\nvip dev-env list\n\n# Check status, URLs, and credentials\nvip dev-env info --slug=your-site\n\n# Start the environment\nvip dev-env start --slug=your-site\n\n# Stop the environment (frees up RAM and CPU)\nvip dev-env stop --slug=your-site\n\n# Run any WP-CLI command inside the container\nvip dev-env exec --slug=your-site -- wp plugin list\nvip dev-env exec --slug=your-site -- wp cache flush\nvip dev-env exec --slug=your-site -- wp user list\n\n# Create a new admin user\nvip dev-env exec --slug=your-site -- wp user create yourname you@example.com --role=administrator\n\n# Check site URL after import\nvip dev-env exec --slug=your-site -- wp option get siteurl\nvip dev-env exec --slug=your-site -- wp option get home\n\n# Search and replace URLs in the database\nvip dev-env exec --slug=your-site -- wp search-replace 'old-url' 'new-url' --skip-columns=guid\n\n# Delete all manually imported media files (host path - faster)\nrm -rf ~\u002F.local\u002Fshare\u002Fvip\u002Fdev-environment\u002Fyour-site\u002Fuploads\u002F*\n\n# Delete all manually imported media files (container path - alternative)\nvip dev-env exec --slug=your-site -- rm -rf \u002Fwp\u002Fwp-content\u002Fuploads\u002F*\n\n# Destroy the environment completely\nvip dev-env destroy --slug=your-site\n\n# Update tooling to the latest version\nnpm update -g @automattic\u002Fvip\n\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">For official documentation, visit \u003Ca href=\"https:\u002F\u002Fdocs.wpvip.com\u002Fvip-local-development-environment\u002F\">docs.wpvip.com\u002Fvip-local-development-environment\u003C\u002Fa>.\u003C\u002Fp>\n",{"rendered":94,"protected":17},"\u003Cp>A quick guide to cloning a live WordPress VIP site to your MacBook for local development. Follow these commands in order. Step 1: Install the Required Tools Install Docker Desktop and VIP-CLI: After installing Docker, open it from your Applications folder so it starts running in the background. Verify all tools are installed: Please skip [&hellip;]\u003C\u002Fp>\n",79,{"footnotes":16},[19],[99,100],18,35,[102,11,28,29,30,31,32,33,103,104],"post-77","tag-wordpress","tag-wpvip","https:\u002F\u002Flab.aiarnob.com\u002Fwp-content\u002Fuploads\u002F2026\u002F05\u002Fsetup-wordpress-vip-on-local.jpg",{"edited_at":36,"published_at":36,"reactions":36,"comments":36,"reading_time":36,"body_markdown":36},{"self":108,"collection":113,"about":115,"author":117,"replies":119,"version-history":122,"predecessor-version":126,"wp:featuredmedia":130,"wp:attachment":133,"wp:term":136,"curies":141},[109],{"href":110,"targetHints":111},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F77",{"allow":112},[43],[114],{"href":46},[116],{"href":49},[118],{"embeddable":52,"href":53},[120],{"embeddable":52,"href":121},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=77",[123],{"count":124,"href":125},2,"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F77\u002Frevisions",[127],{"id":128,"href":129},83,"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F77\u002Frevisions\u002F83",[131],{"embeddable":52,"href":132},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia\u002F79",[134],{"href":135},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=77",[137,139],{"taxonomy":72,"embeddable":52,"href":138},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=77",{"taxonomy":75,"embeddable":52,"href":140},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=77",[142],{"name":79,"href":80,"templated":52},{"id":144,"date":145,"date_gmt":145,"guid":146,"modified":148,"modified_gmt":148,"slug":149,"status":10,"type":11,"link":147,"title":150,"content":152,"excerpt":154,"author":19,"featured_media":156,"comment_status":21,"ping_status":21,"sticky":52,"template":16,"format":22,"meta":157,"categories":158,"tags":159,"class_list":162,"post_image_original":166,"devto_meta":167,"_links":173},39,"2026-02-09T18:43:22",{"rendered":147},"https:\u002F\u002Flab.aiarnob.com\u002Fhow-wordpress-is-preparing-for-the-ai-era\u002F","2026-05-12T21:03:29","how-wordpress-is-preparing-for-the-ai-era",{"rendered":151},"How WordPress is Preparing for the AI Era",{"rendered":153,"protected":17},"\u003Cp>We know WordPress is powerful, because of its thousands of plugins, APIs &amp; functions but they are scattered. As a human we understand this ecosystem because we read docs to know how they works, features etc. But AI doesn&#8217;t work on this way. Because its not possible to know all the available WordPress plugins working procedure top to bottom. So the WordPress core AI team is taking a much smarter approach to use AI within the WordPress project. This approach is called AI Building Blocks for WordPress. The goal of the AI Building Blocks is Simple: Give AI a clear, secure, and standardized way to understand what WordPress can do and to do it safely.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>They are working on the three core technologies that work together:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>PHP AI Client SDK &amp; WordPress AI Client\u003C\u002Fli>\n\u003Cli>Abilities API\u003C\u002Fli>\n\u003Cli>MCP Adapter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>\n  \u003Ca name=\"php-ai-client-sdk\" href=\"#php-ai-client-sdk\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  PHP AI Client SDK:\u003Cbr \u002F>\n\u003C\u002Fh2>\n\u003Cp>Currently there are many AI providers (OpenAI, Anthropic, Gemini, etc.) in the market and each has its own API &amp; configurations process. If a developer want to enable AI features to their own plugins they need to implement the API integration from scratch. Also the developers need to implement each providers separately for their plugins. Developers rebuilds the same infrastructure: provider integrations, API key management. Admin enter the same credentials multiple time and multiple places for each separate plugins. \u003C\u002Fp>\n\u003Cp>On the other hand, the PHP AI Client SDK creates one unified PHP interface that works with multiple AI models. To use the SDK everything will be centralizes, one credentials system for all plugins. The WordPress site admins choose which AI services they want to configure &amp; use from a single place. So, developers can focus on building AI features, not AI infrastructure. Developers don’t lock themselves into a single AI provider.\u003C\u002Fp>\n\u003Ch3>\n  \u003Ca name=\"wordpress-ai-client\" href=\"#wordpress-ai-client\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  WordPress AI Client:\u003Cbr \u002F>\n\u003C\u002Fh3>\n\u003Cp>An AI client and API for WordPress to communicate with any generative AI models of various capabilities using a uniform API. Built on top of the PHP AI Client, adapted for the WordPress ecosystem while following WordPress Coding Standards and best practices. Features of the WordPress AI Client:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cstrong>WP Prompt Builder\u003C\u002Fstrong> – A WordPress-friendly way to create and manage AI prompts using PHP, following WordPress coding standards.\u003C\u002Fli>\n\u003Cli>\n\u003Cstrong>Admin Settings Page\u003C\u002Fstrong> – A WordPress Admin settings screen to store AI provider API keys.\u003C\u002Fli>\n\u003Cli>\n\u003Cstrong>Auto API Key Setup\u003C\u002Fstrong> – Automatically uses API keys saved in WordPress settings.\u003C\u002Fli>\n\u003Cli>\n\u003Cstrong>Standard HTTP Client\u003C\u002Fstrong> – Uses the WordPress HTTP API in a PSR-compatible way.\u003C\u002Fli>\n\u003Cli>\n\u003Cstrong>JavaScript API\u003C\u002Fstrong> – Front-end JS prompt builder that talks with the server through the WP REST APIs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>\n  \u003Ca name=\"abilities-api\" href=\"#abilities-api\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  Abilities API:\u003Cbr \u002F>\n\u003C\u002Fh2>\n\u003Cp>A typical WordPress website might could have lots of plugins installed &amp; activated, each introducing unique functionality. But there’s no standardized way for these components to express their capabilities. An AI assistant has no systematic way to discover that. To solve this problem, the Abilities API establishes a standardized format for registering the capabilities of plugins and themes in a common structure, something like below:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>What the plugin or feature does.\u003C\u002Fli>\n\u003Cli>What inputs it needs.\u003C\u002Fli>\n\u003Cli>What output it returns.\u003C\u002Fli>\n\u003Cli>Which permission require to run it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This makes it easier for AI to automatically discover WordPress features. It transforms WordPress from an isolated collection of functionalities and plugins into an interconnected, discoverable system.\u003C\u002Fp>\n\u003Ch2>\n  \u003Ca name=\"mcp-adapter\" href=\"#mcp-adapter\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  MCP Adapter:\u003Cbr \u002F>\n\u003C\u002Fh2>\n\u003Cp>Once WordPress knows its own abilities by Abilities API, the next step is letting AI assistants use them. That’s the job of the MCP Adapter. \u003Cbr \u002F>\nMCP (Model Context Protocol) is an open standard that defines how applications expose tools to AI models. The MCP Adapter translates WordPress abilities into a format that AI assistants like ChatGPT, Claude or Gemini can understand. AI assistants can discover, understand, and execute actions like creating posts, managing media, and moderating comments, all through the standardized protocol. So, Content creators can manage their WordPress sites conversationally, while developers can automate complex workflows across systems. Agencies can build sophisticated integrations, from content migration to performance optimization.\u003C\u002Fp>\n\u003Ch4>\n  \u003Ca name=\"these-three-ai-building-blocks-work-together-by-the-following-way\" href=\"#these-three-ai-building-blocks-work-together-by-the-following-way\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  These three AI Building Blocks work together by the following way:\u003Cbr \u002F>\n\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP\u002FWordPress AI Client SDK talks to AI models.\u003C\u002Fli>\n\u003Cli>Abilities API defines what WordPress can do.\u003C\u002Fli>\n\u003Cli>MCP Adapter exposes those abilities to AI assistants safely.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>\n  \u003Ca name=\"ai-experiments\" href=\"#ai-experiments\">\u003Cbr \u002F>\n  \u003C\u002Fa>\u003Cbr \u002F>\n  AI Experiments\u003Cbr \u002F>\n\u003C\u002Fh4>\n\u003Cp>If you want to experiments all the AI Building Blocks in one place then you can try \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fai-experiments-plugin\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">AI Experiments Plugin\u003C\u002Fa>. It serves as both a powerful tool for users and a reference implementation for developers, demonstrating how the PHP AI Client SDK, Abilities API, and MCP Adapter work together in practice.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fquillbot.com\u002Fai-content-detector?certificate=cert_698a307475429bb716cad000\" target=\"_blank\" rel=\"noopener noreferrer\">\u003Cbr \u002F>\n  \u003Cimg decoding=\"async\" src=\"https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\u002Fhttps%3A%2F%2Fassets.quillbot.com%2Fimages%2Ftheme%2Flight%2FcontentCertification%2Fbadge.png\" alt=\"Human Written Content Certified\" loading=\"lazy\" width=\"290\" height=\"240\">\u003Cbr \u002F>\n\u003C\u002Fa>\u003C\u002Fp>\n",{"rendered":155,"protected":17},"\u003Cp>We know WordPress is powerful, because of its thousands of plugins, APIs &#038; functions but they are scattered. As a human we understand this ecosystem because we read docs to know how they works, features etc. But AI doesn&#8217;t work on this way. Because its not possible to know all the available WordPress plugins working procedure top to bottom&#8230;\u003C\u002Fp>\n",40,{"footnotes":16},[19],[160,161,99],19,20,[163,11,28,29,30,31,32,33,164,165,103],"post-39","tag-ai","tag-mcp","https:\u002F\u002Flab.aiarnob.com\u002Fwp-content\u002Fuploads\u002F2026\u002F02\u002Fdevto-3244339-cover.webp",{"edited_at":168,"published_at":169,"reactions":124,"comments":170,"reading_time":171,"body_markdown":172},"2026-02-19T07:38:42Z","2026-02-09T18:43:22Z",0,3,"We know WordPress is powerful, because of its thousands of plugins, APIs & functions but they are scattered. As a human we understand this ecosystem because we read docs to know how they works, features etc. But AI doesn't work on this way. Because its not possible to know all the available WordPress plugins working procedure top to bottom. So the WordPress core AI team is taking a much smarter approach to use AI within the WordPress project. This approach is called AI Building Blocks for WordPress. The goal of the AI Building Blocks is Simple: Give AI a clear, secure, and standardized way to understand what WordPress can do and to do it safely.\n\n**They are working on the three core technologies that work together:**\n- PHP AI Client SDK & WordPress AI Client\n- Abilities API\n- MCP Adapter\n\n## PHP AI Client SDK:\nCurrently there are many AI providers (OpenAI, Anthropic, Gemini, etc.) in the market and each has its own API & configurations process. If a developer want to enable AI features to their own plugins they need to implement the API integration from scratch. Also the developers need to implement each providers separately for their plugins. Developers rebuilds the same infrastructure: provider integrations, API key management. Admin enter the same credentials multiple time and multiple places for each separate plugins. \n\nOn the other hand, the PHP AI Client SDK creates one unified PHP interface that works with multiple AI models. To use the SDK everything will be centralizes, one credentials system for all plugins. The WordPress site admins choose which AI services they want to configure & use from a single place. So, developers can focus on building AI features, not AI infrastructure. Developers don’t lock themselves into a single AI provider.\n\n### WordPress AI Client: \nAn AI client and API for WordPress to communicate with any generative AI models of various capabilities using a uniform API. Built on top of the PHP AI Client, adapted for the WordPress ecosystem while following WordPress Coding Standards and best practices. Features of the WordPress AI Client:\n- **WP Prompt Builder** – A WordPress-friendly way to create and manage AI prompts using PHP, following WordPress coding standards.\n- **Admin Settings Page** – A WordPress Admin settings screen to store AI provider API keys.\n- **Auto API Key Setup** – Automatically uses API keys saved in WordPress settings.\n- **Standard HTTP Client** – Uses the WordPress HTTP API in a PSR-compatible way.\n- **JavaScript API** – Front-end JS prompt builder that talks with the server through the WP REST APIs.\n\n## Abilities API:\nA typical WordPress website might could have lots of plugins installed & activated, each introducing unique functionality. But there’s no standardized way for these components to express their capabilities. An AI assistant has no systematic way to discover that. To solve this problem, the Abilities API establishes a standardized format for registering the capabilities of plugins and themes in a common structure, something like below:\n- What the plugin or feature does.\n- What inputs it needs.\n- What output it returns.\n- Which permission require to run it.\n\nThis makes it easier for AI to automatically discover WordPress features. It transforms WordPress from an isolated collection of functionalities and plugins into an interconnected, discoverable system.\n\n## MCP Adapter:\nOnce WordPress knows its own abilities by Abilities API, the next step is letting AI assistants use them. That’s the job of the MCP Adapter. \nMCP (Model Context Protocol) is an open standard that defines how applications expose tools to AI models. The MCP Adapter translates WordPress abilities into a format that AI assistants like ChatGPT, Claude or Gemini can understand. AI assistants can discover, understand, and execute actions like creating posts, managing media, and moderating comments, all through the standardized protocol. So, Content creators can manage their WordPress sites conversationally, while developers can automate complex workflows across systems. Agencies can build sophisticated integrations, from content migration to performance optimization.\n\n#### These three AI Building Blocks work together by the following way:\n- PHP\u002FWordPress AI Client SDK talks to AI models.\n- Abilities API defines what WordPress can do.\n- MCP Adapter exposes those abilities to AI assistants safely.\n\n#### AI Experiments\nIf you want to experiments all the AI Building Blocks in one place then you can try [AI Experiments Plugin](https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fai-experiments-plugin\u002F). It serves as both a powerful tool for users and a reference implementation for developers, demonstrating how the PHP AI Client SDK, Abilities API, and MCP Adapter work together in practice.\n\n\u003Ca href=\"https:\u002F\u002Fquillbot.com\u002Fai-content-detector?certificate=cert_698a307475429bb716cad000\" target=\"_blank\" aria-label=\"Verified Human Content\">\n  \u003Cimg src=\"https:\u002F\u002Fassets.quillbot.com\u002Fimages\u002Ftheme\u002Flight\u002FcontentCertification\u002Fbadge.png\" alt=\"Human Written Content Certified\" width=\"60\" height=\"60\" style=\"max-width: 60px; height: auto;\" \u002F>\n\u003C\u002Fa>\n\n\n",{"self":174,"collection":179,"about":181,"author":183,"replies":185,"version-history":188,"predecessor-version":191,"wp:featuredmedia":195,"wp:attachment":198,"wp:term":201,"curies":206},[175],{"href":176,"targetHints":177},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F39",{"allow":178},[43],[180],{"href":46},[182],{"href":49},[184],{"embeddable":52,"href":53},[186],{"embeddable":52,"href":187},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcomments?post=39",[189],{"count":124,"href":190},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F39\u002Frevisions",[192],{"id":193,"href":194},72,"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u002F39\u002Frevisions\u002F72",[196],{"embeddable":52,"href":197},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia\u002F40",[199],{"href":200},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fmedia?parent=39",[202,204],{"taxonomy":72,"embeddable":52,"href":203},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Fcategories?post=39",{"taxonomy":75,"embeddable":52,"href":205},"https:\u002F\u002Flab.aiarnob.com\u002Fwp-json\u002Fwp\u002Fv2\u002Ftags?post=39",[207],{"name":79,"href":80,"templated":52},1781010862582]