{"id":2933,"date":"2026-07-21T18:57:12","date_gmt":"2026-07-21T18:57:12","guid":{"rendered":"https:\/\/quicknewsnigeria.com\/?p=2933"},"modified":"2026-07-21T18:57:12","modified_gmt":"2026-07-21T18:57:12","slug":"gutenberg-times-how-wordpress-decides-a-theme-is-a-block-theme","status":"publish","type":"post","link":"https:\/\/quicknewsnigeria.com\/?p=2933","title":{"rendered":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d"},"content":{"rendered":"<p class=\"wp-block-paragraph\">The term \u201cblock theme\u201d is used a lot in WordPress but it was never really clear to me what that meant exactly from a code point of view.<\/p>\n<p class=\"wp-block-paragraph\">While researching <a href=\"https:\/\/gutenbergtimes.com\/the-post-editor-is-going-full-iframe-what-block-developers-need-to-know-before-wordpress-7-1\/\">The post editor is going full iframe: what block developers need to know before WordPress 7.1<\/a>, I learned that the outcome of testing WordPress 7.1 Beta 1 <em>may<\/em> soften the plan: instead of forcing the iframe for everyone, core might force it only for block themes, while classic themes using blocks with apiVersion 2 or lower keep the current 7.0 behavior. (The linked article covers the 7.0 state of things in full.)<\/p>\n<p>If that\u2019s the split, then the exact definition of \u201cblock theme\u201d suddenly matters a great deal. So what does core actually check?<\/p>\n<p class=\"wp-block-paragraph\">The public API is <code>wp_is_block_theme()<\/code>, which just asks the active theme:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>PHP<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>\/\/ wp-includes\/theme.php (guard clause trimmed)\nfunction wp_is_block_theme() {\n\treturn wp_get_theme()-&gt;is_block_theme();\n}<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>\/\/ wp-includes\/theme.php (guard clause trimmed)<\/span><\/span>\n<span class=\"line\"><span>function<\/span><span> <\/span><span>wp_is_block_theme<\/span><span>() {<\/span><\/span>\n<span class=\"line\"><span>\t<\/span><span>return<\/span><span> <\/span><span>wp_get_theme<\/span><span>()-&gt;<\/span><span>is_block_theme<\/span><span>();<\/span><\/span>\n<span class=\"line\"><span>}<\/span><\/span><\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\">And <code>WP_Theme::is_block_theme()<\/code> is, in its entirety, a file-existence check:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>PHP<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>\/\/ wp-includes\/class-wp-theme.php (caching trimmed)\npublic function is_block_theme() {\n\t$paths_to_index_block_template = array(\n\t\t$this-&gt;get_file_path( '\/templates\/index.html' ),\n\t\t$this-&gt;get_file_path( '\/block-templates\/index.html' ),\n\t);\n\n\tforeach ( $paths_to_index_block_template as $path ) {\n\t\tif ( is_file( $path ) &amp;&amp; is_readable( $path ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>\/\/ wp-includes\/class-wp-theme.php (caching trimmed)<\/span><\/span>\n<span class=\"line\"><span>public<\/span><span> <\/span><span>function<\/span><span> <\/span><span>is_block_theme<\/span><span>() {<\/span><\/span>\n<span class=\"line\"><span>\t<\/span><span>$paths_to_index_block_template<\/span><span> = <\/span><span>array<\/span><span>(<\/span><\/span>\n<span class=\"line\"><span>\t\t<\/span><span>$this<\/span><span>-&gt;<\/span><span>get_file_path<\/span><span>( <\/span><span>'\/templates\/index.html'<\/span><span> ),<\/span><\/span>\n<span class=\"line\"><span>\t\t<\/span><span>$this<\/span><span>-&gt;<\/span><span>get_file_path<\/span><span>( <\/span><span>'\/block-templates\/index.html'<\/span><span> ),<\/span><\/span>\n<span class=\"line\"><span>\t);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span>\t<\/span><span>foreach<\/span><span> ( <\/span><span>$paths_to_index_block_template<\/span><span> as <\/span><span>$path<\/span><span> ) {<\/span><\/span>\n<span class=\"line\"><span>\t\t<\/span><span>if<\/span><span> ( <\/span><span>is_file<\/span><span>( <\/span><span>$path<\/span><span> ) &amp;&amp; <\/span><span>is_readable<\/span><span>( <\/span><span>$path<\/span><span> ) ) {<\/span><\/span>\n<span class=\"line\"><span>\t\t\t<\/span><span>return<\/span><span> <\/span><span>true<\/span><span>;<\/span><\/span>\n<span class=\"line\"><span>\t\t}<\/span><\/span>\n<span class=\"line\"><span>\t}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span>\t<\/span><span>return<\/span><span> <\/span><span>false<\/span><span>;<\/span><\/span>\n<span class=\"line\"><span>}<\/span><\/span><\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\"><strong>A theme is a \u201cblock theme\u201d if it ships an <code>index.html<\/code> block template<\/strong>, either in <code>templates\/<\/code>, or in <code>block-templates\/<\/code>, the pre-5.9 legacy location. Nothing else is consulted. That has a few consequences that may surprise people:<\/p>\n<p class=\"wp-block-paragraph\"><strong><code>theme.json<\/code> doesn\u2019t make you a block theme.<\/strong> Neither do patterns, block template <em>parts<\/em>, or <code>add_theme_support( 'block-templates' )<\/code>. A theme can adopt every one of those \u201chybrid\u201d features and still land on the classic side of this check, because the test only looks for a top-level <code>index.html<\/code> template.<\/p>\n<p class=\"wp-block-paragraph\"><strong>Child themes inherit the answer.<\/strong> <code>get_file_path()<\/code> looks in the child theme first and falls back to the parent, so a child theme of a block theme is a block theme even if the child ships no templates of its own.<\/p>\n<p class=\"wp-block-paragraph\"><strong>It\u2019s a filesystem check, not a declaration.<\/strong> There\u2019s no header in <code>style.css<\/code> that opts you in or out. Drop a <code>templates\/index.html<\/code> into a theme and, as far as WordPress is concerned, it <em>is<\/em> a block theme.<\/p>\n<h3 class=\"wp-block-heading\">The minimum files required for block and classic themes<\/h3>\n<p class=\"wp-block-paragraph\">This is the entire minimum viable <strong>block theme<\/strong> \u2014 two files:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>Markdown<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>my-block-theme\/\n\u251c\u2500\u2500 style.css          \u2190 standard theme header\n\u2514\u2500\u2500 templates\/\n    \u2514\u2500\u2500 index.html     \u2190 this file IS the decider<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>my-block-theme\/<\/span><\/span>\n<span class=\"line\"><span>\u251c\u2500\u2500 style.css          \u2190 standard theme header<\/span><\/span>\n<span class=\"line\"><span>\u2514\u2500\u2500 templates\/<\/span><\/span>\n<span class=\"line\"><span>    \u2514\u2500\u2500 index.html     \u2190 this file IS the decider<\/span><\/span><\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\">(WordPress considers a theme valid if it has <code>style.css<\/code> plus <em>either<\/em> <code>index.php<\/code> or <code>templates\/index.html<\/code>, which means for a block theme, <code>index.php<\/code>, <code>functions.php<\/code>, and even <code>theme.json<\/code> are all optional.)<\/p>\n<p class=\"wp-block-paragraph\">And this is a theme that is <strong>guaranteed to stay classic<\/strong>:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>Markdown<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>my-classic-theme\/\n\u251c\u2500\u2500 style.css\n\u2514\u2500\u2500 index.php          \u2190 the classic fallback template<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>my-classic-theme\/<\/span><\/span>\n<span class=\"line\"><span>\u251c\u2500\u2500 style.css<\/span><\/span>\n<span class=\"line\"><span>\u2514\u2500\u2500 index.php          \u2190 the classic fallback template<\/span><\/span><\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\">Staying on the classic side of the check comes down to two conditions:<\/p>\n<ol class=\"wp-block-list\">\n<li><strong>No<\/strong> <strong><code>templates\/index.html<\/code><\/strong> <strong>and no legacy<\/strong> <strong><code>block-templates\/index.html<\/code>.<\/strong> Other block templates don\u2019t matter: a theme with `templates\/single.html` but no `templates\/index.html` still tests as classic. (In practice, though, if you\u2019re shipping block templates, ship the index and be a block theme on purpose.)<\/li>\n<li><strong>No block-theme parent.<\/strong> The check falls back to the parent theme, so a child of Twenty Twenty-Five is a block theme no matter what the child contains. To be classic, the whole chain has to be.<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">Everything else is fair game. <code>theme.json<\/code>, patterns, <code>add_theme_support( 'block-template-parts' )<\/code>` custom templates registered from plugins \u2014 none of them flip the switch., patterns, <code>add_theme_support( 'block-template-parts' )<\/code>, custom templates registered from plugins: none of them flip the switch.<\/p>\n<h3 class=\"wp-block-heading\">Where real themes land<\/h3>\n<p class=\"wp-block-paragraph\">Running that check against some current releases from the theme directory<\/p>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Tests <strong>classic<\/strong><\/th>\n<th>Tests <strong>block<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Twenty Twenty-One and every earlier default<\/td>\n<td>Twenty Twenty-Two and every later default<\/td>\n<\/tr>\n<tr>\n<td>Astra, Kadence, Blocksy, Botiga, Sydney, Hello Elementor \u2014 <em>all ship <code>theme.json<\/code><\/em><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GeneratePress, Neve, OceanWP, Storefront<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\">Six of the themes in the first column ship <code>theme.json<\/code>, the marquee \u201cblock\u201d feature, and still test classic, because the check never looks at <code>theme.json<\/code><\/p>\n<p>Twenty Twenty and OceanWP are another good gotcha: both ship a <code>templates\/<\/code> directory and are still classic, because it\u2019s full of PHP page templates (<code>template-cover.php<\/code>, <code>landing.php<\/code>). The check wants <code>templates\/index.html<\/code> specifically, so \u201cdoes it have a templates folder\u201d is not the indicator you might assume.<\/p>\n<h3 class=\"wp-block-heading\">How the editor reads it<\/h3>\n<p class=\"wp-block-paragraph\">On the JavaScript side, the block-theme flag surfaces in two different places, which is worth knowing if you go source-diving.<\/p>\n<p class=\"wp-block-paragraph\">As an editor setting:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>PHP<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>\/\/ wp-includes\/block-editor.php, get_block_editor_settings()\n$editor_settings['__unstableIsBlockBasedTheme'] = wp_is_block_theme();<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>\/\/ wp-includes\/block-editor.php, get_block_editor_settings()<\/span><\/span>\n<span class=\"line\"><span>$editor_settings<\/span><span>[<\/span><span>'__unstableIsBlockBasedTheme'<\/span><span>] = <\/span><span>wp_is_block_theme<\/span><span>();<\/span><\/span><\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\">and on the REST themes endpoint, which is where <code>@wordpress\/core-data<\/code> picks it up:<\/p>\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span><span>PHP<\/span><\/span><span class=\"code-block-pro-copy-button\">\n<pre class=\"code-block-pro-copy-button-pre\"><textarea class=\"code-block-pro-copy-button-textarea\" readonly>\/\/ wp-includes\/rest-api\/endpoints\/class-wp-rest-themes-controller.php\n$data['is_block_theme'] = $theme-&gt;is_block_theme();<\/textarea><\/pre>\n<p><\/p><\/span>\n<pre class=\"shiki dark-plus\"><code><span class=\"line\"><span>\/\/ wp-includes\/rest-api\/endpoints\/class-wp-rest-themes-controller.php<\/span><\/span>\n<span class=\"line\"><span>$data<\/span><span>[<\/span><span>'is_block_theme'<\/span><span>] = <\/span><span>$theme<\/span><span>-&gt;<\/span><span>is_block_theme<\/span><span>();<\/span><\/span><\/code><\/pre>\n<\/div>\n<h2 class=\"wp-block-heading\">The one-file switch<\/h2>\n<p class=\"wp-block-paragraph\">For all the weight the term carries, \u201cblock theme\u201d boils down to a single file: <code>templates\/index.html<\/code> exists, or it doesn\u2019t. Not <code>theme.json<\/code>, not patterns, not any amount of hybrid adoption. Just one index template, checked up the parent chain.<\/p>\n<p class=\"wp-block-paragraph\">That\u2019s worth keeping in mind if 7.1 does end up drawing the iframe line at <code>wp_is_block_theme()<\/code>. A hybrid theme that has adopted everything <em>except<\/em> block templates would keep the classic editor behavior, while adding a single <code>templates\/index.html<\/code> (even accidentally, even in a parent theme you don\u2019t control) would flip a site to the forced iframe. If your theme or your users\u2019 sites sit anywhere near that line, now is a good time to check which side of it you\u2019re actually on: it\u2019s one <code>is_file()<\/code> call away.<\/p>\n<p class=\"wp-block-paragraph\">\n<\/p>","protected":false},"excerpt":{"rendered":"<p>The term \u201cblock theme\u201d is used a lot in WordPress but it was never really<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_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},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-2933","post","type-post","status-publish","format-standard","hentry","category-world"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quicknewsnigeria.com\/?p=2933\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria\" \/>\n<meta property=\"og:description\" content=\"The term \u201cblock theme\u201d is used a lot in WordPress but it was never really\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quicknewsnigeria.com\/?p=2933\" \/>\n<meta property=\"og:site_name\" content=\"Quick News Nigeria\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-21T18:57:12+00:00\" \/>\n<meta name=\"author\" content=\"News Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"News Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933\"},\"author\":{\"name\":\"News Editor\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#\\\/schema\\\/person\\\/8553678061acb05034412e71a2924082\"},\"headline\":\"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d\",\"datePublished\":\"2026-07-21T18:57:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933\"},\"wordCount\":756,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#organization\"},\"articleSection\":[\"World\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933\",\"url\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933\",\"name\":\"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#website\"},\"datePublished\":\"2026-07-21T18:57:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?p=2933#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quicknewsnigeria.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#website\",\"url\":\"https:\\\/\\\/quicknewsnigeria.com\\\/\",\"name\":\"Quick News Nigeria\",\"description\":\"Stay Informed...Stay Ahead \",\"publisher\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#organization\",\"name\":\"Quick News Nigeria\",\"url\":\"https:\\\/\\\/quicknewsnigeria.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/quicknewsnigeria.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-1000446783_half-1.jpg?fit=75%2C75&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/quicknewsnigeria.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-1000446783_half-1.jpg?fit=75%2C75&ssl=1\",\"width\":75,\"height\":75,\"caption\":\"Quick News Nigeria \"},\"image\":{\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quicknewsnigeria.com\\\/#\\\/schema\\\/person\\\/8553678061acb05034412e71a2924082\",\"name\":\"News Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g\",\"caption\":\"News Editor\"},\"sameAs\":[\"https:\\\/\\\/quicknewsnigeria.com\"],\"url\":\"https:\\\/\\\/quicknewsnigeria.com\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quicknewsnigeria.com\/?p=2933","og_locale":"en_US","og_type":"article","og_title":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria","og_description":"The term \u201cblock theme\u201d is used a lot in WordPress but it was never really","og_url":"https:\/\/quicknewsnigeria.com\/?p=2933","og_site_name":"Quick News Nigeria","article_published_time":"2026-07-21T18:57:12+00:00","author":"News Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"News Editor","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quicknewsnigeria.com\/?p=2933#article","isPartOf":{"@id":"https:\/\/quicknewsnigeria.com\/?p=2933"},"author":{"name":"News Editor","@id":"https:\/\/quicknewsnigeria.com\/#\/schema\/person\/8553678061acb05034412e71a2924082"},"headline":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d","datePublished":"2026-07-21T18:57:12+00:00","mainEntityOfPage":{"@id":"https:\/\/quicknewsnigeria.com\/?p=2933"},"wordCount":756,"commentCount":0,"publisher":{"@id":"https:\/\/quicknewsnigeria.com\/#organization"},"articleSection":["World"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quicknewsnigeria.com\/?p=2933#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quicknewsnigeria.com\/?p=2933","url":"https:\/\/quicknewsnigeria.com\/?p=2933","name":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d - Quick News Nigeria","isPartOf":{"@id":"https:\/\/quicknewsnigeria.com\/#website"},"datePublished":"2026-07-21T18:57:12+00:00","breadcrumb":{"@id":"https:\/\/quicknewsnigeria.com\/?p=2933#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quicknewsnigeria.com\/?p=2933"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/quicknewsnigeria.com\/?p=2933#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quicknewsnigeria.com\/"},{"@type":"ListItem","position":2,"name":"Gutenberg Times: How WordPress decides a theme is a \u201cblock theme\u201d"}]},{"@type":"WebSite","@id":"https:\/\/quicknewsnigeria.com\/#website","url":"https:\/\/quicknewsnigeria.com\/","name":"Quick News Nigeria","description":"Stay Informed...Stay Ahead ","publisher":{"@id":"https:\/\/quicknewsnigeria.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quicknewsnigeria.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/quicknewsnigeria.com\/#organization","name":"Quick News Nigeria","url":"https:\/\/quicknewsnigeria.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quicknewsnigeria.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/quicknewsnigeria.com\/wp-content\/uploads\/2026\/02\/cropped-1000446783_half-1.jpg?fit=75%2C75&ssl=1","contentUrl":"https:\/\/i0.wp.com\/quicknewsnigeria.com\/wp-content\/uploads\/2026\/02\/cropped-1000446783_half-1.jpg?fit=75%2C75&ssl=1","width":75,"height":75,"caption":"Quick News Nigeria "},"image":{"@id":"https:\/\/quicknewsnigeria.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/quicknewsnigeria.com\/#\/schema\/person\/8553678061acb05034412e71a2924082","name":"News Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15e82a1b1e2c548248d683af0e71d1bff2d1d92c923dff6f41b79f9e00f5cb60?s=96&d=mm&r=g","caption":"News Editor"},"sameAs":["https:\/\/quicknewsnigeria.com"],"url":"https:\/\/quicknewsnigeria.com\/?author=1"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=\/wp\/v2\/posts\/2933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2933"}],"version-history":[{"count":0,"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=\/wp\/v2\/posts\/2933\/revisions"}],"wp:attachment":[{"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quicknewsnigeria.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}