{"id":7060,"date":"2026-04-13T13:13:13","date_gmt":"2026-04-13T12:13:13","guid":{"rendered":"https:\/\/europe.wordcamp.org\/2026\/session\/building-dynamic-gallery-experiences-with-wordpress-interactivity-api\/"},"modified":"2026-06-09T12:37:47","modified_gmt":"2026-06-09T10:37:47","slug":"building-dynamic-gallery-experiences-with-wordpress-interactivity-api","status":"publish","type":"wcb_session","link":"https:\/\/europe.wordcamp.org\/2026\/session\/building-dynamic-gallery-experiences-with-wordpress-interactivity-api\/","title":{"rendered":"Building dynamic gallery experiences with WordPress Interactivity API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Take your block development skills to the next level! In this hands-on workshop, you&#8217;ll 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<p class=\"wp-block-paragraph\">What You&#8217;ll Build:<\/p>\n\n\n\n<p class=\"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<p class=\"wp-block-paragraph\">What You&#8217;ll Learn: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Core IAPI concepts: stores, state, context, directives, actions, and callbacks<\/li>\n\n\n\n<li>How to extend WordPress core blocks with interactivity using PHP filters<\/li>\n\n\n\n<li>Adding editor controls for user-configurable settings<\/li>\n\n\n\n<li>Implementing touch event handling for mobile-friendly experiences<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Who Should Attend:<\/p>\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<p class=\"wp-block-paragraph\">You&#8217;ll Leave With:<\/p>\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\">\ud83d\udc49 Bring your laptop and be ready to code!<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/bHoM1T_yIyU?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-GB&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Take your block development skills to the next level! In this hands-on workshop, you&#8217;ll 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. What You&#8217;ll Build: A production-ready gallery slider featuring slide navigation, infinite carousel mode, auto-play, and mobile swipe gestures\u2014all [&hellip;]<\/p>\n","protected":false},"author":7543064,"featured_media":7412,"template":"","meta":{"_wcpt_session_time":1780731000,"_wcpt_session_duration":9000,"_wcpt_session_type":"session","_wcpt_session_slides":"https:\/\/europe.wordcamp.org\/2026\/files\/2026\/06\/Ryan-Welcher-Building-dynamic-gallery-experiences-with-WordPress-Interactivity-API.pdf","_wcpt_session_video":"https:\/\/wordpress.tv\/2026\/06\/08\/building-dynamic-gallery-experiences-with-wordpress-interactivity-api\/","_wcpt_speaker_id":[6884],"footnotes":""},"session_track":[66],"session_category":[56],"class_list":["post-7060","wcb_session","type-wcb_session","status-publish","has-post-thumbnail","hentry","wcb_track-workshop-2","wcb_session_category-development"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgyJ7n-1PS","session_date_time":{"date":"June 6, 2026","time":"09:30"},"session_speakers":[{"id":"6884","slug":"ryan-welcher","name":"Ryan Welcher","link":"https:\/\/europe.wordcamp.org\/2026\/speaker\/ryan-welcher\/"}],"session_cats_rendered":"Development","_links":{"self":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":4,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7060\/revisions"}],"predecessor-version":[{"id":11969,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/7060\/revisions\/11969"}],"speakers":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/6884"}],"author":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/welcher"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media\/7412"}],"wp:attachment":[{"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=7060"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=7060"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/europe.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=7060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}