{"id":8344,"date":"2026-05-01T09:00:00","date_gmt":"2026-05-01T07:00:00","guid":{"rendered":"https:\/\/europe.wordcamp.org\/2026\/?p=8344"},"modified":"2026-05-12T15:37:28","modified_gmt":"2026-05-12T13:37:28","slug":"build-it-right-the-development-sessions-coming-to-wceu-2026","status":"publish","type":"post","link":"https:\/\/europe.wordcamp.org\/2026\/build-it-right-the-development-sessions-coming-to-wceu-2026\/","title":{"rendered":"Build It Right &#8211; The Development Sessions Coming to WCEU 2026"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Development is where things either hold up or fall apart. It\u2019s where shortcuts become technical debt, and where solid decisions turn into systems that run for years without drama.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you build with WordPress, this is your arena. Not just to learn something new, but to sharpen how you think, how you structure, and how you deliver under real-world constraints.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why development matters when it actually counts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most projects don\u2019t fail because of missing features. They fail because of poor decisions early on. Wrong abstractions, fragile integrations, performance ignored until it\u2019s too late.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where you get better at avoiding exactly that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You\u2019ll see how others structure complex builds and what they do differently.<\/li>\n\n\n\n<li>You\u2019ll learn where performance really breaks, and how to fix it before it does.<\/li>\n\n\n\n<li>You\u2019ll understand how to build in a way that survives client changes, new requirements, and scale.<\/li>\n\n\n\n<li>You\u2019ll get clarity on modern WordPress development, not just what\u2019s possible, but what actually works in practice.<\/li>\n\n\n\n<li>You\u2019ll leave with approaches you can apply immediately, not theory you forget next week.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is not about perfect code. It\u2019s about building things that work, last, and do not come back to haunt you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In short, if you care about the quality of what you ship, this is where you invest your time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Talks<\/h2>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Panel: inside WordPress 7.0<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"819\" height=\"1024\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/wordcamp_europe_panel_1.png?resize=819%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-8507 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/wordcamp_europe_panel_1.png?resize=819%2C1024&amp;ssl=1 819w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/wordcamp_europe_panel_1.png?resize=240%2C300&amp;ssl=1 240w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/wordcamp_europe_panel_1.png?resize=768%2C960&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/wordcamp_europe_panel_1.png?w=1080&amp;ssl=1 1080w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/juan-manuel-garrido\/\" data-type=\"wcb_speaker\" data-id=\"6842\">Juan Manuel Garrido<\/a>, <a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/adam-silverstein\/\" data-type=\"wcb_speaker\" data-id=\"6843\">Adam Silverstein<\/a>, <a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/benjamin-zekavica\/\" data-type=\"wcb_speaker\" data-id=\"6844\">Benjamin Zekavica<\/a>, <a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/sarah-norris\/\" data-type=\"wcb_speaker\" data-id=\"6845\">Sarah Norris<\/a>, <a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/milana-cap\/\" data-type=\"wcb_speaker\" data-id=\"6846\">Milana Cap<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 10:15<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/panel-inside-wordpress-7-0\/\" data-type=\"wcb_session\" data-id=\"7025\">Panel: inside WordPress 7.0<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress 7.0 is not yet another WordPress release. It might be the most significant release in a while. It comes with features we couldn\u2019t even imagine a couple of years ago. It\u2019s changing how we use WordPress and how we develop on top of and with WordPress. It\u2019s changing everything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Join a group of contributors who helped with this release in various ways to discuss not just new features in the software itself, but also the process of releasing such an impactful software, human errors, contribution workflows, and anything you wish to know about WordPress 7.0.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: true, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion has-base-background-color has-background is-layout-flow wp-container-core-accordion-is-layout-95d68f22 wp-block-accordion-is-layout-flow\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-1&quot;, &quot;openByDefault&quot;: true }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-open is-layout-flow wp-container-core-accordion-item-is-layout-043e5d72 wp-block-accordion-item-is-layout-flow\">\n<h4 class=\"wp-block-accordion-heading\"><button aria-expanded=\"true\" aria-controls=\"accordion-item-1-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-1\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Juan Manuel Garrido<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h4>\n\n\n\n<div aria-labelledby=\"accordion-item-1\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-1-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/juan-manuel-garrido-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7677 size-medium\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/juan-manuel-garrido-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/juan-manuel-garrido-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/juan-manuel-garrido-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">JuanMa is a Developer Advocate with 20+ years of experience in web development, specializing in JavaScript and WordPress. He works as Developer Relations at Automattic. A WordPress core contributor, he co-leads the Triage team for the WP 7.0 release squad and is part of the WordPress Test Team. He focuses on advocating for WordPress as a full-featured and AI-ready development framework.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/luminuu\"><\/a><a href=\"https:\/\/profiles.wordpress.org\/juanmaguitar\" target=\"_blank\" rel=\"noreferrer noopener\">@juanmaguitar<\/a><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-2&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h4 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-2-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-2\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Adam Silverstein<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h4>\n\n\n\n<div inert aria-labelledby=\"accordion-item-2\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-2-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" fetchpriority=\"low\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adam-silverstein-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7645 size-medium\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adam-silverstein-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adam-silverstein-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adam-silverstein-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">Adam is a WordPress core committer where he works to fix bugs and improve modern web capabilities. Previously at Google, these days he is focused on WordPress core where he works as a sponsored contributor. Adam loves long rafting trips, playing mbira, travel, taking walks and tending his over-sized garden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/adamsilverstein\" target=\"_blank\" rel=\"noreferrer noopener\">@adamsilverstein<\/a><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-3&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h4 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-3-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-3\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Benjamin Zekavica<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h4>\n\n\n\n<div inert aria-labelledby=\"accordion-item-3\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-3-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" fetchpriority=\"low\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/benjamin-zekavica-panel-WP7-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7655 size-medium\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/benjamin-zekavica-panel-WP7-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/benjamin-zekavica-panel-WP7-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/benjamin-zekavica-panel-WP7-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">Benjamin Zekavica shows how companies can use WordPress as a serious digital infrastructure instead of treating it as just another website. As the founder of Kreo Pulse and UnleashWP and a member of the WordPress Core Team, he combines strategic perspective with technical depth. Kreo Pulse helps companies use WordPress with greater clarity, reliability, and structure. With UnleashWP, he shares practical knowledge for professionals who want to do more than just use WordPress. They want to understand it more deeply and apply it more deliberately.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/luminuu\"><\/a><a href=\"https:\/\/profiles.wordpress.org\/4thhubbard\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><a href=\"https:\/\/profiles.wordpress.org\/benjamin_zekavica\" target=\"_blank\" rel=\"noreferrer noopener\">@benjamin_zekavica<\/a><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-4&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h4 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-4-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-4\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Sarah Norris<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h4>\n\n\n\n<div inert aria-labelledby=\"accordion-item-4\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-4-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" fetchpriority=\"low\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-panel-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7704 size-medium\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-panel-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-panel-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-panel-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">Milana Cap is a WordPress engineer at XWP, freelance WordPress engineer at Toptal, WordPress Documentation Team representative, plugin reviewer, and Documentation Focus lead for WordPress 5.8 \u2013 6.2 release cycles, and end-user docs for 7.0. She helped organise some of the largest WordPress conferences, WordCamp Europe 2018 and 2019, focusing on Contributor Days, and 2026 as a member of the Speakers team. Being a single mum in Serbia, she developed the superpower of fighting the odds. Easily bribed with dark chocolate and a nice piece of bacon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/milana_cap\" target=\"_blank\" rel=\"noreferrer noopener\">@milana_cap<\/a><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-5&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h4 class=\"wp-block-accordion-heading\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-5-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-5\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Milana Cap<\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h4>\n\n\n\n<div inert aria-labelledby=\"accordion-item-5\" data-wp-bind--inert=\"!state.isOpen\" id=\"accordion-item-5-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<div class=\"wp-block-media-text is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" fetchpriority=\"low\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milana-cap-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7689 size-medium\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milana-cap-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milana-cap-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milana-cap-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">Natalia Basiura is an operations leader and startup builder working at the intersection of technology, community, and communication. She currently serves as Operations Director at Krak\u00f3w Miastem Startup\u00f3w Foundation, where she turns ideas into structured processes and helps teams deliver impactful projects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">She is the founder of FastMic, a platform that transforms event communication by enabling real-time audience interaction and turning passive attendees into active participants. She also leads Corpatriot, a project focused on building a community around civil defense and women\u2019s safety, combining education, technology, and real-world needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Natalia has experience across both startup and NGO sectors, from cultural initiatives to tech-driven social projects. She actively co-creates communities, including LinkedIn Local Krak\u00f3w, and serves on the board of Ubi Es? Foundation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Her approach blends strategy with execution \u2013 she builds, tests, and improves, always staying close to people and their needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/nataliabasiura\" target=\"_blank\" rel=\"noreferrer noopener\">@nataliabasiura<\/a><\/p>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Fighting spam and bots on WordPress with AI<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adeolu-oshadare-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7646 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adeolu-oshadare-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adeolu-oshadare-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/adeolu-oshadare-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/adeolu-oshadare\/\" data-type=\"wcb_speaker\" data-id=\"6877\">Adeolu Oshadare<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 14:10<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/fighting-spam-and-bots-on-wordpress-with-ai\/\" data-type=\"wcb_session\" data-id=\"7053\">Fighting spam and bots on WordPress with AI<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Learn how AI-powered solutions can help WordPress sites combat spam, bots, and fake sign-ups. Discover how lightweight, privacy-friendly AI detects abnormal behavior to enhance security and performance.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Adeolu is a data professional with a strong interest in applying AI to solve practical problems. Her work focuses on using machine learning techniques to detect patterns, improve systems, and enhance user experience. At WordCamp Europe 2026, she will share a practical approach to identifying and preventing spam and bot activity in WordPress, breaking down how AI can be used in a simple and effective way without unnecessary complexity.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/mary1197\">@mary1197<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Smarter plugin permissions with the Abilities API<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/anukasha-singh-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7651 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/anukasha-singh-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/anukasha-singh-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/anukasha-singh-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/anukasha-singh\/\">Anukasha Singh<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 14:30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/smarter-plugin-permissions-with-the-abilities-api\/\" data-type=\"wcb_session\" data-id=\"7028\">Smarter plugin permissions with the Abilities API<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Discover how the new Abilities API makes plugin permissions cleaner, safer, and easier to maintain. In just a few minutes, you\u2019ll see how it differs from legacy capability checks, learn from a small code example, and get actionable tips you can take back to your own plugins.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">I\u2019m Anukasha, a developer specializing in WordPress security and authentication systems. I have built enterprise-grade SSO and identity solutions, integrating protocols like OAuth, SAML, JWT. I\u2019m passionate about cybersecurity and open source technologies, and always up for talking security.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/anukasha\">@anukasha<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Headless WordPress API security in 10 minutes<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/areil-ramos-3.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7652 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/areil-ramos-3.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/areil-ramos-3.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/areil-ramos-3.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/ariel-ramos\/\">Ariel Ramos<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 14:20<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/headless-wordpress-api-security-in-10-minutes\/\" data-type=\"wcb_session\" data-id=\"7054\">Headless WordPress API security in 10 minutes<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Learn the five steps to design secure headless WordPress architectures. This talk focuses on API-first security, attack surface reduction, and practical decisions when exposing WordPress APIs to mobile apps and PWAs.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Master\u2019s degree in Cybersecurity from Universidad Internacional de La Rioja (Spain) and a Bachelor\u2019s degree in Computer Systems Engineering from Universidad Fid\u00e9litas (Costa Rica). Currently serves as CEO of Codingraph, specializing in secure software development and information asset protection consulting.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">With over 12 years of experience in software development across both public and private sectors, delivering robust and secure technological solutions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Certified ISO 27001 Auditor and Cisco DevNet Associate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Speaks Spanish, English, Portuguese, and Japanese.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/arielramos\">@arielramos<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Get your plugin ready for submission to the directory<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/david-perez-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7660 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/david-perez-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/david-perez-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/david-perez-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/david-perez\/\" data-type=\"wcb_speaker\" data-id=\"6855\">David Perez<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 14:30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/get-your-plugin-ready-for-submission-to-the-directory\/\" data-type=\"wcb_session\" data-id=\"7035\">Get your plugin ready for submission to the directory<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019ve spent weeks coding the perfect plugin, and you\u2019re finally ready to share it with the WordPress community. You hit \u201csubmit,\u201d wait, and then\u2026 the team\u2019s volunteers point out a lot of issues you didn\u2019t even know you were causing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Getting your plugin into the official directory doesn\u2019t have to be a trial by fire. Join Francisco and David as they reveal the most common, easy-to-fix issues that keep great plugins stuck in the review queue.<\/p>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">In this talk, you will learn:<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">The \u201cFirst-Time Success\u201d checklist: what reviewers actually look for.<br>How to avoid the most frequent security and naming pitfalls.<br>Tips to streamline your code for faster approval and a better plugin.<br>Whether you are a seasoned dev or a first-time contributor, this session will give you the roadmap to go from \u201cPending\u201d to \u201cApproved\u201d without the headache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">David and Francisco are members of the Plugins Team, and together they have reviewed more than 25k plugins, with that number increasing. You\u2019ll save time for them and other plugin reviewers! Everyone wins!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"wp-block-paragraph\">David is a CTO and developer at a digital agency, and an active contributor to the WordPress ecosystem. As part of the WordPress.org Plugins Team, he spends a good part of his time reviewing plugins and helping improve code quality across the community.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">He approaches problems with persistence and a practical mindset, focusing on delivering solid, reliable solutions. He enjoys tackling complex technical challenges and finding simple, practical ways to make things work better.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/davidperez\">@davidperez<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Build your developer portfolio: a hands-on guide to FSE<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dejan-rudic-branic-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7663 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dejan-rudic-branic-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dejan-rudic-branic-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dejan-rudic-branic-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/dejan-rudic-vranic\/\" data-type=\"wcb_speaker\" data-id=\"6881\">Dejan Rudic Vranic<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 09:00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/build-your-developer-portfolio-a-hands-on-guide-to-fse\/\" data-type=\"wcb_session\" data-id=\"7057\">Build your developer portfolio: a hands-on guide to FSE<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Full Site Editing isn\u2019t just for DIY users\u2014it is a powerful architectural tool for professionals. Join this workshop to master the lifecycle of a modern Block Theme. We will build a portfolio site to showcase your work, focusing on three core skills: scaffolding with the Create Block Theme plugin, configuring design systems via theme.json, and implementing governance (locking APIs) to protect your design. Leave with a working theme and a repeatable workflow for your next client project.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Dejan Rudi\u0107 Vrani\u0107 is a WordPress developer and owner of Studio Agnis, a specialized consultancy focused on complex systems integration \u2014 connecting enterprise platforms like Salesforce, CRMs, and payment gateways with WordPress. With over a decade of hands-on experience serving clients across Europe and the US, he approaches every project with the precision of his earlier career as a civil engineer: built to hold, not just to demo. Based in Ni\u0161, Serbia, Dejan is a first-time WordCamp speaker. Outside of code, he and his wife run the Architect Aleksandar Radovi\u0107 Foundation, a non-profit dedicated to cultural heritage preservation and supporting young professionals in conservation.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/archiplace2015\">@archiplace2015<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">HTML API practicum: a deep dive<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dennis-snell-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7664 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dennis-snell-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dennis-snell-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dennis-snell-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/dennis-snell\/\" data-type=\"wcb_speaker\" data-id=\"6857\">Dennis Snell<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 10:15<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/html-api-practicum-a-deep-dive\/\" data-type=\"wcb_session\" data-id=\"7036\">HTML API practicum: a deep dive<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The HTML API is almost three years old, but continues to evolve with each WordPress release. It\u2019s seen deployment in WordPress\u2019 backend, in Gutenberg, and in many plugins and themes. The HTML API\u2019s core values have even expanded into new pipelines for working with block structure and text encodings, helping to modernise, optimise, and harden WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This in-depth workshop will review recent updates, explore undocumented capabilities of these APIs, cast a vision for their ongoing development, provide hands-on experience working with and expanding them, and offer quality time for asking questions and interactively exploring the answers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Dennis aspires to fix things that have broken and build things that won\u2019t. He co-wrote the HTML API and designed the Block parser. In his spare time, he takes pictures, planes wood, and codes for fun.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/dmsnell\">@dmsnell<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">What&#8217;s new in WordPress Playground?<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fellyph-cintra-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7666 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fellyph-cintra-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fellyph-cintra-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fellyph-cintra-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/fellyph-cintra\/\" data-type=\"wcb_speaker\" data-id=\"6831\">Fellyph Cintra<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 12:30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/whats-new-in-wordpress-playground\/\" data-type=\"wcb_session\" data-id=\"7018\">What&#8217;s new in WordPress Playground?<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Discover the latest evolution of WordPress Playground in a talk designed for every skill level. We will start with the new, easy-to-use web tools, including the Blueprints Editor, File Editor, and the new Admin Database Manager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then, we will look under the hood at the architectural changes, like modular PHP versions and OpCache support, that have boosted performance by over 40%. Finally, we will explore advanced developer workflows, including running PHP with Composer in the browser, debugging with Xdebug, and automating tests with Playwright.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Fellyph Cintra is a Developer Relations Advocate at Automattic, working on the WordPress Playground project to revolutionize the development and user experience in the WordPress ecosystem. With 19 years of front-end experience, his WordPress journey began in 2008. He has worked with digital agencies and one of the biggest news portals in Brazil, UOL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Passionate about education and community. An AI enthusiast, he excels at connecting with people and translating ideas to improve the open web. He is an active contributor to the ecosystem, having co-organized events in S\u00e3o Paulo and Dublin and spoken at over 20 WordCamps worldwide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/fellyph\">@fellyph<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Get your plugin ready for submission to the directory<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fran-torres-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7668 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fran-torres-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fran-torres-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/fran-torres-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong><a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/fran-torres\/\" data-type=\"wcb_speaker\" data-id=\"6856\">&nbsp;Fran Torres<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 14:30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/get-your-plugin-ready-for-submission-to-the-directory\/\" data-type=\"wcb_session\" data-id=\"7035\">Get your plugin ready for submission to the directory<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019ve spent weeks coding the perfect plugin, and you\u2019re finally ready to share it with the WordPress community. You hit \u201csubmit,\u201d wait, and then\u2026 the team\u2019s volunteers point out a lot of issues you didn\u2019t even know you were causing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Getting your plugin into the official directory doesn\u2019t have to be a trial by fire. Join Francisco and David as they reveal the most common, easy-to-fix issues that keep great plugins stuck in the review queue.<\/p>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">In this talk, you will learn:<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">The \u201cFirst-Time Success\u201d checklist: what reviewers actually look for.<br>How to avoid the most frequent security and naming pitfalls.<br>Tips to streamline your code for faster approval and a better plugin.<br>Whether you are a seasoned dev or a first-time contributor, this session will give you the roadmap to go from \u201cPending\u201d to \u201cApproved\u201d without the headache.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">David and Francisco are members of the Plugins Team, and together they have reviewed more than 25k plugins, with that number increasing. You\u2019ll save time for them and other plugin reviewers! Everyone wins!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"wp-block-paragraph\">Francisco is a consultant and developer, and has been an active member of the WordPress community since 2012.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a contributor to the WordPress.org Plugins Team, he spends his days finding solutions to technical and human challenges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">He believes in the power of \u201cgood vibes,\u201d creativity, and experimentation. When he isn\u2019t triaging hundreds of plugins, you\u2019ll likely find him cycling, swimming, or travelling by train.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/frantorres\">@frantorres<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Accessibility in themes: easier than you think<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Jessica-Lyschik-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7672 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Jessica-Lyschik-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Jessica-Lyschik-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Jessica-Lyschik-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/jessica-lyschik\/\" data-type=\"wcb_speaker\" data-id=\"6829\">Jessica Lyschik<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 11:00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/accessibility-in-themes-easier-than-you-think\/\" data-type=\"wcb_session\" data-id=\"7016\">Accessibility in themes: easier than you think<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Many theme developers assume accessibility-ready requirements are hard to meet \u2014 but that\u2019s rarely true. This session shares practical insights from real theme reviews and shows how both block and classic themes can reach accessibility-ready status with manageable effort.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Jessica Lyschik is a senior developer at Greyd and a WordPress core contributor. She was the Default Theme Co-Lead for the Twenty Twenty-Four theme. Outside of work, she enjoys building LEGO sets, traveling, and listening to music over a cup of tea.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/luminuu\">@luminuu<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">50 shades of cache: a WooCommerce deep dive<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/mateusz-zadorozny-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7686 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/mateusz-zadorozny-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/mateusz-zadorozny-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/mateusz-zadorozny-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/mateusz-zadorozny\/\" data-type=\"wcb_speaker\" data-id=\"6883\">Mateusz Zadoro\u017cny<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 14:00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/50-shades-of-cache-a-woocommerce-deep-dive\/\" data-type=\"wcb_session\" data-id=\"7059\">50 shades of cache: a WooCommerce deep dive<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Caching in WooCommerce isn\u2019t one thing p it\u2019s fifty. In this hands-on workshop, we demystify the full spectrum of WordPress and WooCommerce caching layers: OPcache, server-level cache, page\/HTML cache, object cache, and WooCommerce-specific caching quirks. No theory for theory\u2019s sake \u2013 we\u2019ll walk through real examples, debug common cache misses, and show live demos of how each layer impacts performance, stability, and TTFB.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Mateusz Zadoro\u017cny is the founder of SHIFT64, a consultancy specializing in WooCommerce performance architecture. Working with WordPress since 2012 and obsessed with WooCommerce scalability since 2017. At SHIFT64, he operates a transparent BYOS (Bring Your Own Server) model \u2013 replacing overcrowded shared hosting with dedicated high-frequency infrastructure that clients fully own. A WooCommerce absolutist by choice: doesn\u2019t touch PrestaShop, Magento, or \u201ccare plans\u201d on infrastructure he didn\u2019t build. By day, he leads e-commerce engineering at Merida, building a highly customized B2B platform from the ground up.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/mateuszz\">@mateuszz<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Secure-by-design: hardening plugins with PHP 8.x<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milan-petrovic-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7688 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milan-petrovic-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milan-petrovic-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/milan-petrovic-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/milan-petrovic\/\" data-type=\"wcb_speaker\" data-id=\"6852\">Milan Petrovi\u0107<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 16:00<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/secure-by-design-hardening-plugins-with-php-8-x\/\" data-type=\"wcb_session\" data-id=\"7032\">Secure-by-design: hardening plugins with PHP 8.x<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In the WordPress ecosystem, we are often forced to choose between supporting the \u201clowest common denominator\u201d of hosting and implementing modern security. But in 2026, writing legacy PHP 7 code isn\u2019t just a bad habit, it\u2019s an active invitation for automated exploitation. It\u2019s time to stop playing \u201cwhack-a-mole\u201d with sanitization and start building products that are secure by design.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This talk isn\u2019t just another slide deck on security tips, through comparisons of a Vulnerability Lab plugin, you will see how common exploits like authentication bypass and Server Side Request Forgery succeed on legacy code, only to be neutralized by the native shields of the latest PHP. You will learn how to leverage the modern PHP patterns to ensure your plugins are resilient to a wide range of exploits.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Milan Petrovi\u0107 is a Senior Full Stack Developer at Freemius, where he joined the team in 2024. Prior to this, Milan spent over 15 years as the founder of Dev4Press, where he specialized in the WordPress and bbPress ecosystems. Since 2007, he has been a prolific developer, building and maintaining a diverse catalog of plugins designed to extend forum functionality and site management.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/gdragon\">@gdragon<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Bug report to repro in 60 seconds with Playground<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/muryam-sultana-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7691 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/muryam-sultana-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/muryam-sultana-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/muryam-sultana-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/muryam-sultana\/\" data-type=\"wcb_speaker\" data-id=\"5879\">Muryam Sultana<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 16:45<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/bug-report-to-repro-in-60-seconds-with-playground\/\" data-type=\"wcb_session\" data-id=\"5948\">Bug report to repro in 60 seconds with Playground<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Learn how WordPress Playground helps QA teams turnbug reports into instantly reproducible environments. This session shows how shareable Playground links and Blueprints improve testing, collaboration, and debugging\u2014without complex local setup.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Muryam Sultana is a QA Engineer at WPMU DEV and a contributor to WordPress Playground. She has created and submitted multiple Playground Blueprints and focuses on building reproducible testing workflows for WordPress. Muryam has previously presented on WordPress Playground at WordCamp Islamabad, where she shared practical insights on modern WordPress testing and development using WordPress Playground and Blueprints. Her work centers on quality assurance, automation, and improving collaboration between QA and development teams in the WordPress ecosystem.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/muryam\">@muryam<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Stress testing and scaling WordPress on a $12 VPS<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/nedko-hristov-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7693 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/nedko-hristov-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/nedko-hristov-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/nedko-hristov-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/nedko-hristov\/\" data-type=\"wcb_speaker\" data-id=\"6851\">Nedko Hristov<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 15:15<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/stress-testing-and-scaling-wordpress-on-a-12-vps\/\" data-type=\"wcb_session\" data-id=\"7031\">Stress testing and scaling WordPress on a $12 VPS<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From server crash to enterprise scale \u2013 a live-fire DevOps exercise. We\u2019ll stress-test a WP stack on a $12 VPS, visualizing bottlenecks in Grafana before implementing a hybrid-static leap. GitHub repo included!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">A WordPress veteran and speaker who never lost the curiosity required to solve complex problems with minimal resources.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">After transitioning from QA to DevOps five years ago, he discovered he could break systems significantly faster than ever before.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A staunch advocate for knowledge sharing and mentorship, he spends his offline hours on two wheels, riding roads and trails as if his uptime depends on it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/climbatize\">@climbatize<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Improving the performance of the WordPress query classes<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/peter-wilson-2.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7695 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/peter-wilson-2.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/peter-wilson-2.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/peter-wilson-2.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/peter-wilson\/\" data-type=\"wcb_speaker\" data-id=\"6879\">Peter Wilson<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 14:45<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong><a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/improving-the-performance-of-the-wordpress-query-classes\/\" data-type=\"wcb_session\" data-id=\"7055\">&nbsp;Improving the performance of the WordPress query classes<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The WordPress Performance team was established in 2021 with the goal of improving the performance of WordPress Core. As a fundamental part of rendering each and every page of a WordPress site, the <code>WP_Query<\/code> class has received a lot of attention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this talk, Peter will discuss how the performance of <code>WP_Query<\/code> and the WordPress Query component have been improved with increased caching, and how that can be taken full advantage of when building WordPress sites at scale.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Peter Wilson has worked on large scale WordPress projects since 2015, is a member of the WordPress Performance team and has been a WordPress Core Committer for ten years. Peter is currently a Lead Engineer at Fueled\u2019s 10up WordPress practice and an alumni of Nine Publishing\u2019s CMS Authoring team. Away from the keyboard, Peter is a big fan of musical theater and enjoys talking about this at length in the hallway track with unsuspecting attendees at tech conferences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/peterwilsoncc\">@peterwilsoncc<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Block bindings for all!<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/robert-orourke-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7699 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/robert-orourke-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/robert-orourke-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/robert-orourke-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/robert-orourke\/\" data-type=\"link\" data-id=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/robert-orourke\/\">Robert O\u2019Rourke<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 14:50<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/block-bindings-for-all\/\" data-type=\"wcb_session\" data-id=\"7030\">Block bindings for all!<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Block bindings have been available for a few versions of WP now but limited to a few core blocks and attributes, and further limited to post meta and synced patterns as a user facing tool. Now that bindable attributes and the UI can be extended there has never been a better time to get to know the benefits of this powerful feature for really taking control of blocks and content.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Robert has worked with WordPress and the web for over 2 decades, most recently at Human Made. He can\u2019t believe his luck that he gets to be a professional puzzle solver, and if he\u2019s not coding, you\u2019ll often see him working on a crossword or similar. He loves to travel, especially on road trips, and likes to keep active through climbing and boxing.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/sanchothefat\">@sanchothefat<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Building dynamic gallery experiences with WordPress Interactivity API<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/ryan-welcher-1.jpg?ssl=1\" alt=\"\" class=\"wp-image-7701 size-full\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/ryan-welcher\/\" data-type=\"wcb_speaker\" data-id=\"6884\">Ryan Welcher<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Workshop 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Saturday 6 June at 09:30<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/building-dynamic-gallery-experiences-with-wordpress-interactivity-api\/\" data-type=\"wcb_session\" data-id=\"7060\">Building dynamic gallery experiences with WordPress Interactivity API<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Take your block development skills to the next level! In this hands-on workshop, you\u2019ll build a fully functional, touch-enabled gallery slider using the WordPress Interactivity API (IAPI)\u2014the modern standard for adding dynamic, reactive experiences to WordPress blocks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">What You\u2019ll Build<\/h4>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">A production-ready gallery slider featuring slide navigation, infinite carousel mode, auto-play, and mobile swipe gestures\u2014all powered by reactive state management.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-base-background-color has-background\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">What You\u2019ll Learn<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Core IAPI concepts: stores, state, context, directives, actions, and callbacks<br>How to extend WordPress core blocks with interactivity using PHP filters<br>Adding editor controls for user-configurable settings<br>Implementing touch event handling for mobile-friendly experiences<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Who Should Attend<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress plugin and theme developers comfortable with block development basics who want to create richer, more interactive user experiences without relying on external JavaScript frameworks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">You\u2019ll Leave With<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Working code, a deeper understanding of the Interactivity API, and practical patterns you can apply to your own projects immediately.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-bottom:var(--wp--preset--spacing--20)\">\ud83d\udc49 Bring your laptop and be ready to code!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\" \/>\n\n\n\n<p class=\"wp-block-paragraph\">Ryan is a Developer Advocate at Automattic. He focuses on removing barriers to adoption for developers working with Gutenberg and WordPress. He is a seasoned WordPress developer and regular contributor to WordPress and the Gutenberg project. He also streams on Twitch as RyanWelcherCodes were he focuses on custom block development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Follow his work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/irsilviana\">@welcher<\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"112\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=1000%2C112&#038;ssl=1\" alt=\"\" class=\"wp-image-6302\" style=\"width:400px\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?w=1000&amp;ssl=1 1000w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=300%2C34&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=768%2C86&amp;ssl=1 768w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/Speaker-Pattern.webp?resize=500%2C56&amp;ssl=1 500w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-4924166b wp-block-group-is-layout-constrained\" style=\"border-bottom-right-radius:80px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--20);box-shadow:var(--wp--preset--shadow--shadow-1)\">\n<h3 class=\"wp-block-heading\">Beyond hamburgers: latest Navigation block changes<\/h3>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:30% auto\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"630\" src=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-hamburgers-1.jpg?resize=630%2C630&#038;ssl=1\" alt=\"\" class=\"wp-image-7703 size-full\" srcset=\"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-hamburgers-1.jpg?w=630&amp;ssl=1 630w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-hamburgers-1.jpg?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/sarah-norris-hamburgers-1.jpg?resize=150%2C150&amp;ssl=1 150w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\"><strong>Speaker:<\/strong><a href=\"https:\/\/europe.wordcamp.org\/2026\/speaker\/sarah-norris\/\" data-type=\"wcb_speaker\" data-id=\"6845\">&nbsp;Sarah Norris<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where<\/strong>: Track 2<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When:<\/strong>&nbsp;Friday 5 June at 14:40<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Session page:<\/strong>&nbsp;<a href=\"https:\/\/europe.wordcamp.org\/2026\/session\/beyond-hamburgers-latest-navigation-block-changes\/\" data-type=\"wcb_session\" data-id=\"7029\">Beyond hamburgers: latest Navigation block changes<\/a><\/p>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Discover how the customisable navigation overlays transform mobile menu design. Learn what this new feature means for theme developers and see examples of creating theme-friendly, content-rich mobile navigation experiences using blocks and patterns.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p class=\"is-style-dots wp-block-paragraph\">Sarah is a software engineer and community contributor who can usually be found working in Core and the Editor. When not working on WordPress, she enjoys travelling, theme parks, comics, and hiking.<\/p>\n\n\n\n<p class=\"has-base-background-color has-background wp-block-paragraph\" style=\"border-bottom-right-radius:80px;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Follow her work on&nbsp;WordPress.org as <a href=\"https:\/\/profiles.wordpress.org\/mikachan\">@mikachan<\/a><\/p>\n<\/div>\n\n\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-7ba56cdb wp-block-buttons-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--40)\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/europe.wordcamp.org\/2026\/schedule\/\">SEE THE FULL SCHEDULE<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Development is where things either hold up or fall apart. If you build with WordPress, this is your arena. <\/p>\n","protected":false},"author":22042601,"featured_media":8278,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[70],"tags":[],"class_list":["post-8344","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-speakers-category"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/europe.wordcamp.org\/2026\/files\/2026\/04\/dev-FB-Post-Featured-Image-8.png?fit=1200%2C630&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pgyJ7n-2aA","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/posts\/8344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/users\/22042601"}],"replies":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/comments?post=8344"}],"version-history":[{"count":41,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/posts\/8344\/revisions"}],"predecessor-version":[{"id":8795,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/posts\/8344\/revisions\/8795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media\/8278"}],"wp:attachment":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=8344"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/categories?post=8344"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/tags?post=8344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}