{"id":2098,"date":"2026-08-27T20:01:24","date_gmt":"2026-08-27T18:01:24","guid":{"rendered":"https:\/\/netherlands.wordcamp.org\/2026\/session\/create-blocks-with-php-only\/"},"modified":"2026-09-02T14:22:27","modified_gmt":"2026-09-02T12:22:27","slug":"create-blocks-with-php-only","status":"publish","type":"wcb_session","link":"https:\/\/netherlands.wordcamp.org\/2026\/session\/create-blocks-with-php-only\/","title":{"rendered":"Create blocks with PHP only"},"content":{"rendered":"<p>WordPress 7.0 introduced a new feature: PHP block registration exclusively via PHP. Registration, metadata, assets, and rendering\u2014all in one place.<\/p>\n<p>Developers can now create simple blocks using PHP alone. This is intended for blocks that only need to be rendered on the server side and aren\u2019t meant to be particularly interactive. This API is designed to help developers avoid unnecessary complexity and thus promote the widespread use of blocks, especially in classic themes.<\/p>\n<p>The talk uses a specific example to demonstrate how this can be implemented.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress 7.0 introduced a new feature: PHP block registration exclusively via PHP. Registration, metadata, assets, and rendering\u2014all in one place. Developers can now create simple blocks using PHP alone. This is intended for blocks that only need to be rendered on the server side and aren\u2019t meant to be particularly interactive. This API is designed [&hellip;]<\/p>\n","protected":false},"author":5276180,"featured_media":0,"template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_nakedcatplugins_page_lang":"en","_nakedcatplugins_page_dir":"ltr","_wcpt_session_time":1794495600,"_wcpt_session_duration":2700,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[2097],"footnotes":""},"session_track":[48],"session_category":[34,31],"class_list":["post-2098","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-track-2","wcb_session_category-gutenberg","wcb_session_category-php"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph3O8V-xQ","session_date_time":{"date":"12 november 2026","time":"16:00"},"session_speakers":[{"id":"2097","slug":"torsten-landsiedel","name":"Torsten Landsiedel","link":"https:\/\/netherlands.wordcamp.org\/2026\/speaker\/torsten-landsiedel\/"}],"session_cats_rendered":"gutenberg, php","_links":{"self":[{"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/2098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/2098\/revisions"}],"predecessor-version":[{"id":2270,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/2098\/revisions\/2270"}],"speakers":[{"embeddable":true,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/2097"}],"author":[{"embeddable":true,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/zodiac1978"}],"wp:attachment":[{"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=2098"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=2098"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/netherlands.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=2098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}