{"id":7058,"date":"2026-04-13T13:13:13","date_gmt":"2026-04-13T12:13:13","guid":{"rendered":"https:\/\/europe.wordcamp.org\/2026\/session\/build-your-first-ai-powered-wordpress-plugin\/"},"modified":"2026-06-09T12:35:41","modified_gmt":"2026-06-09T10:35:41","slug":"build-your-first-ai-powered-wordpress-plugin","status":"publish","type":"wcb_session","link":"https:\/\/europe.wordcamp.org\/2026\/session\/build-your-first-ai-powered-wordpress-plugin\/","title":{"rendered":"Build your first AI-powered WordPress plugin"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">So you&#8217;ve heard about the WordPress Core AI projects. Maybe you&#8217;ve read the blog posts, skimmed the GitHub repositories, or watched a talk about what&#8217;s coming. But there&#8217;s a massive difference between understanding something conceptually and actually building with it. If that\u2019s the case, then this workshop is for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this workshop, you\u2019ll learn to build a working AI-powered WordPress plugin from scratch. You&#8217;ll leave with functioning code on your laptop and a solid understanding of how each of these tools works, so you can start experimenting on your own.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What we&#8217;ll build:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;re going to create a plugin that registers custom abilities, exposes them via the Model Context Protocol, and uses the WP AI Client to add intelligent behaviour. By the end, you&#8217;ll have a plugin that lets an AI assistant interact with your WordPress site\u2014discovering what&#8217;s possible and taking actions on your behalf.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prerequisites:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A laptop with a local WordPress development environment that you are familiar with (I\u2019ll be using WordPress Studio)<\/li>\n\n\n\n<li>Familiarity with WordPress plugin development, PHP, and JavaScript<\/li>\n\n\n\n<li>Composer and Node.js are installed and working, the latest stable versions<\/li>\n\n\n\n<li>An API key from one of the following AI model providers: Google, Anthropic, OpenAI (You can register one for free via Google AI Studio)<\/li>\n\n\n\n<li>If you prefer not to register an API Key with one of these providers, you can also install Ollama and a local model of your choice. However, that model must support the ability to read image files.<\/li>\n\n\n\n<li>One of the following MCP-compatible agentic AI applications: Claude Desktop, VS Code with GitHub Copilot, or Cursor<\/li>\n\n\n\n<li>Claude Code is also acceptable if you use that.<\/li>\n\n\n\n<li>You may use your own MCP-compatible AI agent, but I won\u2019t be able to support you if things go wrong. The patience to troubleshoot if things don&#8217;t work the first time (they rarely do, and that&#8217;s part of learning)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Fair warning: once you see an AI assistant execute an ability you wrote yourself, you&#8217;ll probably spend the rest of the weekend thinking of things to build. Don&#8217;t say I didn&#8217;t warn you.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/nGLt7GdpS_8?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-GB&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>So you&#8217;ve heard about the WordPress Core AI projects. Maybe you&#8217;ve read the blog posts, skimmed the GitHub repositories, or watched a talk about what&#8217;s coming. But there&#8217;s a massive difference between understanding something conceptually and actually building with it. If that\u2019s the case, then this workshop is for you. In this workshop, you\u2019ll learn [&hellip;]<\/p>\n","protected":false},"author":7511363,"featured_media":7392,"template":"","meta":{"_wcpt_session_time":1780735500,"_wcpt_session_duration":4500,"_wcpt_session_type":"session","_wcpt_session_slides":"https:\/\/europe.wordcamp.org\/2026\/files\/2026\/06\/Jonathan-Bossenger-Build-your-first-AI-Powered-WordPress-plugin.pdf","_wcpt_session_video":"https:\/\/wordpress.tv\/2026\/06\/08\/build-your-first-ai-powered-wordpress-plugin\/","_wcpt_speaker_id":[6882],"footnotes":""},"session_track":[65],"session_category":[71],"class_list":["post-7058","wcb_session","type-wcb_session","status-publish","has-post-thumbnail","hentry","wcb_track-workshop-1","wcb_session_category-ai"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgyJ7n-1PQ","session_date_time":{"date":"June 6, 2026","time":"10:45"},"session_speakers":[{"id":"6882","slug":"jonathan-bossenger","name":"Jonathan Bossenger","link":"https:\/\/europe.wordcamp.org\/2026\/speaker\/jonathan-bossenger\/"}],"session_cats_rendered":"AI","_links":{"self":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":6,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7058\/revisions"}],"predecessor-version":[{"id":11965,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7058\/revisions\/11965"}],"speakers":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/6882"}],"author":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/psykro"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media\/7392"}],"wp:attachment":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=7058"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=7058"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=7058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}