{"id":5522,"date":"2026-02-12T20:44:41","date_gmt":"2026-02-13T01:44:41","guid":{"rendered":"https:\/\/chubes.net\/?documentation=block-variations"},"modified":"2026-03-13T03:27:52","modified_gmt":"2026-03-13T07:27:52","slug":"block-variations","status":"publish","type":"documentation","link":"https:\/\/chubes.net\/docs\/wordpress-core\/block-development\/block-variations\/","title":{"rendered":"Block Variations"},"content":{"rendered":"<p>Block variations create alternative versions of a block with pre-configured attributes and settings.<\/p><h2 class=\"wp-block-heading\">Basic Variation<\/h2><p>Define in block.json:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">json<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-json\"><code class=\"language-json\">{\n    &quot;variations&quot;: [\n        {\n            &quot;name&quot;: &quot;blue&quot;,\n            &quot;title&quot;: &quot;Blue Card&quot;,\n            &quot;attributes&quot;: {\n                &quot;backgroundColor&quot;: &quot;blue&quot;,\n                &quot;textColor&quot;: &quot;white&quot;\n            }\n        }\n    ]\n}<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Variation Properties<\/h2><figure class=\"wp-block-table\"><table><thead><tr><th>Property<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>name<\/code><\/td><td>string<\/td><td>Unique identifier (required)<\/td><\/tr><tr><td><code>title<\/code><\/td><td>string<\/td><td>Display name (required)<\/td><\/tr><tr><td><code>description<\/code><\/td><td>string<\/td><td>Variation description<\/td><\/tr><tr><td><code>attributes<\/code><\/td><td>object<\/td><td>Pre-set attribute values<\/td><\/tr><tr><td><code>innerBlocks<\/code><\/td><td>array<\/td><td>Pre-set inner blocks<\/td><\/tr><tr><td><code>icon<\/code><\/td><td>string\/object<\/td><td>Custom icon<\/td><\/tr><tr><td><code>category<\/code><\/td><td>string<\/td><td>Block category override<\/td><\/tr><tr><td><code>keywords<\/code><\/td><td>array<\/td><td>Additional search terms<\/td><\/tr><tr><td><code>isDefault<\/code><\/td><td>boolean<\/td><td>Is this the default variation?<\/td><\/tr><tr><td><code>isActive<\/code><\/td><td>function\/array<\/td><td>Determine if variation is active<\/td><\/tr><tr><td><code>scope<\/code><\/td><td>array<\/td><td>Where variation appears<\/td><\/tr><tr><td><code>example<\/code><\/td><td>object<\/td><td>Preview content<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\">Defining Variations in JavaScript<\/h2><p>For complex variations, define in JavaScript:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">import { registerBlockVariation } from &#039;@wordpress\/blocks&#039;;\n\nregisterBlockVariation( &#039;core\/embed&#039;, {\n    name: &#039;youtube&#039;,\n    title: &#039;YouTube&#039;,\n    icon: &#039;video-alt3&#039;,\n    keywords: [ &#039;video&#039;, &#039;youtube&#039; ],\n    description: &#039;Embed a YouTube video.&#039;,\n    attributes: {\n        providerNameSlug: &#039;youtube&#039;,\n        responsive: true,\n    },\n    isActive: ( blockAttributes, variationAttributes ) =&gt;\n        blockAttributes.providerNameSlug === variationAttributes.providerNameSlug,\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Variation Scope<\/h2><p>Control where variations appear:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;my-plugin\/card&#039;, {\n    name: &#039;featured-card&#039;,\n    title: &#039;Featured Card&#039;,\n    scope: [ &#039;inserter&#039;, &#039;block&#039;, &#039;transform&#039; ],\n    attributes: {\n        isFeatured: true,\n    },\n} );<\/code><\/pre><\/div><p>Scope values:<\/p><ul class=\"wp-block-list\"><li><code>inserter<\/code> &#8211; Show in block inserter<\/li><li><code>block<\/code> &#8211; Show in block toolbar&#8217;s transform options<\/li><li><code>transform<\/code> &#8211; Available via block transforms<\/li><\/ul><h2 class=\"wp-block-heading\">isActive<\/h2><p>Determines which variation a block instance matches.<\/p><h3 class=\"wp-block-heading\">Array Form (Simple)<\/h3><p>Match by attribute values:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">json<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-json\"><code class=\"language-json\">{\n    &quot;variations&quot;: [\n        {\n            &quot;name&quot;: &quot;youtube&quot;,\n            &quot;title&quot;: &quot;YouTube&quot;,\n            &quot;attributes&quot;: {\n                &quot;providerNameSlug&quot;: &quot;youtube&quot;\n            },\n            &quot;isActive&quot;: [ &quot;providerNameSlug&quot; ]\n        }\n    ]\n}<\/code><\/pre><\/div><h3 class=\"wp-block-heading\">Function Form (Complex)<\/h3><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;core\/embed&#039;, {\n    name: &#039;youtube&#039;,\n    title: &#039;YouTube&#039;,\n    attributes: {\n        providerNameSlug: &#039;youtube&#039;,\n    },\n    isActive: ( blockAttributes, variationAttributes ) =&gt; {\n        return blockAttributes.providerNameSlug === &#039;youtube&#039;;\n    },\n} );<\/code><\/pre><\/div><p>Multiple conditions:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">isActive: ( blockAttributes ) =&gt; {\n    return (\n        blockAttributes.providerNameSlug === &#039;youtube&#039; &amp;&amp;\n        blockAttributes.responsive === true\n    );\n},<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Inner Blocks in Variations<\/h2><p>Pre-configure nested blocks:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;core\/columns&#039;, {\n    name: &#039;two-columns-equal&#039;,\n    title: &#039;Two Columns (Equal)&#039;,\n    innerBlocks: [\n        [ &#039;core\/column&#039;, { width: &#039;50%&#039; } ],\n        [ &#039;core\/column&#039;, { width: &#039;50%&#039; } ],\n    ],\n    scope: [ &#039;inserter&#039; ],\n} );\n\nregisterBlockVariation( &#039;core\/columns&#039;, {\n    name: &#039;two-columns-sidebar&#039;,\n    title: &#039;Two Columns (Sidebar)&#039;,\n    innerBlocks: [\n        [ &#039;core\/column&#039;, { width: &#039;66.66%&#039; } ],\n        [ &#039;core\/column&#039;, { width: &#039;33.33%&#039; } ],\n    ],\n    scope: [ &#039;inserter&#039; ],\n} );<\/code><\/pre><\/div><p>With content in inner blocks:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;core\/group&#039;, {\n    name: &#039;hero-section&#039;,\n    title: &#039;Hero Section&#039;,\n    attributes: {\n        align: &#039;full&#039;,\n        style: {\n            spacing: {\n                padding: {\n                    top: &#039;var:preset|spacing|80&#039;,\n                    bottom: &#039;var:preset|spacing|80&#039;,\n                },\n            },\n        },\n    },\n    innerBlocks: [\n        [ &#039;core\/heading&#039;, { \n            level: 1, \n            placeholder: &#039;Hero Title&#039;,\n            textAlign: &#039;center&#039;,\n        } ],\n        [ &#039;core\/paragraph&#039;, { \n            placeholder: &#039;Hero subtitle or description&#039;,\n            align: &#039;center&#039;,\n        } ],\n        [ &#039;core\/buttons&#039;, { layout: { justifyContent: &#039;center&#039; } }, [\n            [ &#039;core\/button&#039;, { placeholder: &#039;Call to Action&#039; } ],\n        ] ],\n    ],\n    scope: [ &#039;inserter&#039; ],\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Variation Icons<\/h2><p>Custom icons per variation:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;my-plugin\/card&#039;, {\n    name: &#039;horizontal-card&#039;,\n    title: &#039;Horizontal Card&#039;,\n    icon: &#039;align-left&#039;,\n    attributes: {\n        layout: &#039;horizontal&#039;,\n    },\n} );\n\n\/\/ Or with custom SVG\nregisterBlockVariation( &#039;my-plugin\/card&#039;, {\n    name: &#039;vertical-card&#039;,\n    title: &#039;Vertical Card&#039;,\n    icon: (\n        &lt;svg viewBox=&quot;0 0 24 24&quot;&gt;\n            &lt;path d=&quot;M4 4h16v16H4z&quot; \/&gt;\n        &lt;\/svg&gt;\n    ),\n    attributes: {\n        layout: &#039;vertical&#039;,\n    },\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Setting Default Variation<\/h2><p>Mark one variation as default:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;my-plugin\/container&#039;, {\n    name: &#039;standard&#039;,\n    title: &#039;Standard Container&#039;,\n    isDefault: true,\n    attributes: {\n        padding: &#039;medium&#039;,\n    },\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Unregistering Variations<\/h2><p>Remove existing variations:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">import { unregisterBlockVariation } from &#039;@wordpress\/blocks&#039;;\n\n\/\/ Remove the YouTube embed variation\nwp.domReady( () =&gt; {\n    unregisterBlockVariation( &#039;core\/embed&#039;, &#039;youtube&#039; );\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Overriding Core Variations<\/h2><p>Modify existing variations:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">import { getBlockVariations, unregisterBlockVariation, registerBlockVariation } from &#039;@wordpress\/blocks&#039;;\n\nwp.domReady( () =&gt; {\n    \/\/ Get existing variation\n    const variations = getBlockVariations( &#039;core\/embed&#039; );\n    const youtube = variations.find( v =&gt; v.name === &#039;youtube&#039; );\n    \n    if ( youtube ) {\n        \/\/ Unregister original\n        unregisterBlockVariation( &#039;core\/embed&#039;, &#039;youtube&#039; );\n        \n        \/\/ Register modified version\n        registerBlockVariation( &#039;core\/embed&#039;, {\n            ...youtube,\n            title: &#039;Custom YouTube&#039;,\n            keywords: [ ...youtube.keywords, &#039;custom&#039; ],\n        } );\n    }\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Variation Example Content<\/h2><p>Provide preview in inserter:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;my-plugin\/testimonial&#039;, {\n    name: &#039;customer-review&#039;,\n    title: &#039;Customer Review&#039;,\n    attributes: {\n        style: &#039;card&#039;,\n    },\n    example: {\n        attributes: {\n            quote: &#039;This product exceeded my expectations!&#039;,\n            author: &#039;Jane Smith&#039;,\n            rating: 5,\n        },\n    },\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Complete Example: Social Links Variations<\/h2><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">const socialVariations = [\n    {\n        name: &#039;facebook&#039;,\n        title: &#039;Facebook&#039;,\n        icon: &#039;facebook&#039;,\n        attributes: {\n            service: &#039;facebook&#039;,\n            url: &#039;https:\/\/facebook.com\/&#039;,\n        },\n    },\n    {\n        name: &#039;twitter&#039;,\n        title: &#039;Twitter&#039;,\n        icon: &#039;twitter&#039;,\n        attributes: {\n            service: &#039;twitter&#039;,\n            url: &#039;https:\/\/twitter.com\/&#039;,\n        },\n    },\n    {\n        name: &#039;instagram&#039;,\n        title: &#039;Instagram&#039;,\n        attributes: {\n            service: &#039;instagram&#039;,\n            url: &#039;https:\/\/instagram.com\/&#039;,\n        },\n        icon: (\n            &lt;svg viewBox=&quot;0 0 24 24&quot;&gt;\n                &lt;path d=&quot;M12 2c2.717 0 3.056.01 4.122.06...&quot; \/&gt;\n            &lt;\/svg&gt;\n        ),\n    },\n];\n\nsocialVariations.forEach( ( variation ) =&gt; {\n    registerBlockVariation( &#039;core\/social-link&#039;, {\n        ...variation,\n        isActive: ( blockAttributes ) =&gt; \n            blockAttributes.service === variation.attributes.service,\n    } );\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Query Loop Variations<\/h2><p>Create custom query patterns:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">js<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-js\"><code class=\"language-js\">registerBlockVariation( &#039;core\/query&#039;, {\n    name: &#039;recent-posts-grid&#039;,\n    title: &#039;Recent Posts Grid&#039;,\n    description: &#039;Display recent posts in a grid layout&#039;,\n    attributes: {\n        query: {\n            perPage: 6,\n            postType: &#039;post&#039;,\n            orderBy: &#039;date&#039;,\n            order: &#039;desc&#039;,\n        },\n        displayLayout: {\n            type: &#039;flex&#039;,\n            columns: 3,\n        },\n    },\n    innerBlocks: [\n        [ &#039;core\/post-template&#039;, {}, [\n            [ &#039;core\/post-featured-image&#039; ],\n            [ &#039;core\/post-title&#039; ],\n            [ &#039;core\/post-excerpt&#039; ],\n        ] ],\n        [ &#039;core\/query-pagination&#039; ],\n    ],\n    scope: [ &#039;inserter&#039; ],\n    isActive: ( { query } ) =&gt; query.perPage === 6 &amp;&amp; query.orderBy === &#039;date&#039;,\n} );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">PHP Registration<\/h2><p>Register variations from PHP:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">php<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-php\"><code class=\"language-php\">add_action( &#039;init&#039;, function() {\n    $block_type = WP_Block_Type_Registry::get_instance()-&gt;get_registered( &#039;core\/group&#039; );\n    \n    if ( $block_type ) {\n        $block_type-&gt;variations = array_merge(\n            $block_type-&gt;variations ?? [],\n            [\n                [\n                    &#039;name&#039;       =&gt; &#039;full-width-section&#039;,\n                    &#039;title&#039;      =&gt; __( &#039;Full Width Section&#039;, &#039;my-plugin&#039; ),\n                    &#039;attributes&#039; =&gt; [\n                        &#039;align&#039; =&gt; &#039;full&#039;,\n                        &#039;layout&#039; =&gt; [\n                            &#039;type&#039; =&gt; &#039;constrained&#039;,\n                        ],\n                    ],\n                    &#039;scope&#039;      =&gt; [ &#039;inserter&#039; ],\n                ],\n            ]\n        );\n    }\n} );<\/code><\/pre><\/div><p>Or use the filter:<\/p><div class=\"code-block-wrapper\"><div class=\"code-block-header\"><span class=\"code-block-language\">php<\/span><button class=\"code-copy-btn\" aria-label=\"Copy code\"><svg><use href=\"https:\/\/chubes.net\/wp-content\/themes\/chubes\/assets\/icons\/chubes.svg#icon-copy\"><\/use><\/svg><\/button><\/div><pre data-chubes-enhanced class=\"wp-block-code language-php\"><code class=\"language-php\">add_filter( &#039;get_block_type_variations&#039;, function( $variations, $block_type ) {\n    if ( $block_type-&gt;name === &#039;core\/columns&#039; ) {\n        $variations[] = [\n            &#039;name&#039;        =&gt; &#039;three-equal&#039;,\n            &#039;title&#039;       =&gt; __( &#039;Three Equal Columns&#039;, &#039;my-plugin&#039; ),\n            &#039;innerBlocks&#039; =&gt; [\n                [ &#039;core\/column&#039;, [ &#039;width&#039; =&gt; &#039;33.33%&#039; ] ],\n                [ &#039;core\/column&#039;, [ &#039;width&#039; =&gt; &#039;33.33%&#039; ] ],\n                [ &#039;core\/column&#039;, [ &#039;width&#039; =&gt; &#039;33.33%&#039; ] ],\n            ],\n            &#039;scope&#039;       =&gt; [ &#039;inserter&#039; ],\n        ];\n    }\n    return $variations;\n}, 10, 2 );<\/code><\/pre><\/div><h2 class=\"wp-block-heading\">Best Practices<\/h2><ol class=\"wp-block-list\"><li><p><strong>Use meaningful names:<\/strong> Variation names should clearly indicate their purpose.<\/p><\/li><li><p><strong>Set isActive correctly:<\/strong> Ensure variations are properly identified when editing.<\/p><\/li><li><p><strong>Provide good descriptions:<\/strong> Help users understand what each variation does.<\/p><\/li><li><p><strong>Use appropriate scope:<\/strong> Don&#8217;t clutter the inserter with every variation.<\/p><\/li><li><p><strong>Include example content:<\/strong> Makes variations easier to understand in the inserter.<\/p><\/li><li><p><strong>Group related variations:<\/strong> Keep variations for the same block together.<\/p><\/li><li><p><strong>Consider transforms:<\/strong> Enable variations in transform scope when switching makes sense.<\/p><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Block variations create alternative versions of a block with pre-configured attributes and settings. Basic Variation Define in block.json: { &quot;variations&quot;: [ { &quot;name&quot;: &quot;blue&quot;, &quot;title&quot;: &quot;Blue Card&quot;, &quot;attributes&quot;: { &quot;backgroundColor&quot;:&#8230;<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"footnotes":""},"tags":[],"project":[600],"project_type":[749],"class_list":["post-5522","documentation","type-documentation","status-publish","hentry","project-block-development","project_type-wordpress-reference"],"project_info":{"id":589,"name":"WordPress Core","slug":"wordpress-core"},"project_type_info":{"id":749,"name":"WordPress Reference","slug":"wordpress-reference"},"_links":{"self":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/types\/documentation"}],"version-history":[{"count":3,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5522\/revisions"}],"predecessor-version":[{"id":8995,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/documentation\/5522\/revisions\/8995"}],"wp:attachment":[{"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/media?parent=5522"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/tags?post=5522"},{"taxonomy":"project","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project?post=5522"},{"taxonomy":"project_type","embeddable":true,"href":"https:\/\/chubes.net\/wp-json\/wp\/v2\/project_type?post=5522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}