{"id":6782,"date":"2025-09-09T17:52:42","date_gmt":"2025-09-09T21:52:42","guid":{"rendered":"https:\/\/canada.wordcamp.org\/2025\/?post_type=wcb_session&#038;p=6782"},"modified":"2025-09-15T21:31:22","modified_gmt":"2025-09-16T01:31:22","slug":"custom-blocks-aint-nobody-got-time-for-that","status":"publish","type":"wcb_session","link":"https:\/\/canada.wordcamp.org\/2025\/session\/custom-blocks-aint-nobody-got-time-for-that\/","title":{"rendered":"Custom Blocks: Ain\u2019t Nobody Got Time for That!"},"content":{"rendered":"\n<p>You&#8217;ve built themes, plugins, and full sites in WordPress \u2014 but custom blocks? Who has the time to wade through JavaScript frameworks and complex tooling?<\/p>\n\n\n\n<p>This workshop is a no-fluff, code-first introduction to building custom WordPress blocks for experienced developers who haven&#8217;t made the jump to Gutenberg yet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">First Half: Block Development 101<\/h2>\n\n\n\n<p>In the <strong>first half<\/strong>, we&#8217;ll cover the essentials:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How `block.json` works and why it matter<\/li>\n\n\n\n<li>What the build process does (and how to stop fighting it)<\/li>\n\n\n\n<li>Registering blocks the correct way.<\/li>\n\n\n\n<li>Just enough React\/JSX to build functional, modern blocks<\/li>\n\n\n\n<li>How to use the `create-block` tool to scaffold faster and avoid boilerplate<\/li>\n\n\n\n<li>Debugging tips for common block issues and build errors<\/li>\n\n\n\n<li>Practical examples that you can copy, paste, and actually use<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Second Half: Guided Work Session<\/h2>\n\n\n\n<p>In the second half, it&#8217;s your turn to build \u2014 with help. You&#8217;ll choose between:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bringing a custom block idea you want to work on, <strong>or<\/strong><\/li>\n\n\n\n<li>Selecting from a list of pre-defined commonly built block ideas<\/li>\n<\/ul>\n\n\n\n<p>You&#8217;ll get time to work through the process with support from the speaker and others in the room. Whether you&#8217;re experimenting, troubleshooting, or finishing a real feature, this session is all about giving you the space and guidance to get hands-on and make progress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>You&#8217;ve built themes, plugins, and full sites in WordPress \u2014 but custom blocks? Who has the time to wade through JavaScript frameworks and complex tooling? This workshop is a no-fluff, code-first introduction to building custom WordPress blocks for experienced developers who haven&#8217;t made the jump to Gutenberg yet. First Half: Block Development 101 In the [&hellip;]<\/p>\n","protected":false},"author":7543064,"featured_media":0,"template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_wcpt_session_time":1760547600,"_wcpt_session_duration":5400,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[3089],"footnotes":""},"session_track":[126],"session_category":[128],"class_list":["post-6782","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-2","wcb_session_category-workshop"],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"session_date_time":{"date":"October 15, 2025","time":"1:00 pm"},"session_speakers":[{"id":"3089","slug":"ryan-welcher","name":"Ryan Welcher","link":"https:\/\/canada.wordcamp.org\/2025\/speaker\/ryan-welcher\/"}],"session_cats_rendered":"Workshop","_links":{"self":[{"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/sessions\/6782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":8,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/sessions\/6782\/revisions"}],"predecessor-version":[{"id":7109,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/sessions\/6782\/revisions\/7109"}],"speakers":[{"embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/speakers\/3089"}],"author":[{"embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wporg\/v1\/users\/welcher"}],"wp:attachment":[{"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/media?parent=6782"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/session_track?post=6782"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2025\/wp-json\/wp\/v2\/session_category?post=6782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}