{"id":10278,"date":"2025-11-05T18:19:10","date_gmt":"2025-11-05T18:19:10","guid":{"rendered":"https:\/\/hellonitish.com\/blog\/?p=10278"},"modified":"2025-11-06T05:10:51","modified_gmt":"2025-11-06T05:10:51","slug":"create-customizable-sections-in-shopify","status":"publish","type":"post","link":"https:\/\/hellonitish.com\/blog\/create-customizable-sections-in-shopify\/","title":{"rendered":"Create Customizable Sections in Shopify"},"content":{"rendered":"\n<p>When you peel back the glossy storefront of a Shopify site, what you\u2019ll find underneath isn\u2019t a tangle of random code. It\u2019s a clean system of <strong>building blocks called sections<\/strong>.<\/p>\n\n\n\n<p>Every banner, every product grid, every testimonial carousel, all of it lives inside these modular, self-contained units.<\/p>\n\n\n\n<p>Sections are what make Shopify themes so powerful (and friendly for non-developers). They let merchants drag, drop, reorder, and customize entire parts of a page without touching a single line of code. And for developers, sections are the perfect mix of <strong>structure and flexibility<\/strong>. Each one is its own micro-template, with its own settings, content blocks, and styling logic.<\/p>\n\n\n\n<p>A Shopify theme isn\u2019t one giant page. It\u2019s a collection of reusable <strong>sections<\/strong> stitched together by JSON templates. Once you understand how sections work, you understand the heart of Shopify theme development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Start with the Schema<\/h2>\n\n\n\n<p>Before you write a single line of Liquid or start wrapping divs around things, start with the <strong>schema<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why?<\/h3>\n\n\n\n<p>Because the schema is the blueprint of your section. It tells Shopify what kind of content the section can hold, what options the merchant can tweak, and how those inputs appear inside the Theme Editor.<\/p>\n\n\n\n<p>Think of it like sketching the wireframe before painting the wall. Once your schema is ready, you know exactly what variables you\u2019ll have access to in your Liquid code (<code>section.settings<\/code>, <code>block.settings<\/code>, and so on). That means fewer surprises and a much cleaner development flow.<\/p>\n\n\n\n<p>Each schema lives inside the <code>{% schema %}<\/code> and <code>{% endschema %}<\/code> tags at the bottom of your section file. It\u2019s written in JSON and usually defines:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Settings:<\/strong> the editable fields for the whole section (like heading text or layout style).<\/li>\n\n\n\n<li><strong>Blocks:<\/strong> repeatable sub-components (like features, testimonials, or slides).<\/li>\n\n\n\n<li><strong>Presets:<\/strong> pre-filled demo content that appears when you add the section in the Theme Editor.<\/li>\n<\/ul>\n\n\n\n<p>A good schema answers three questions upfront:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>What will this section display?<\/li>\n\n\n\n<li>What should the merchant be able to change?<\/li>\n\n\n\n<li>What defaults should make it look good out of the box?<\/li>\n<\/ol>\n\n\n\n<p>By starting with the schema, you\u2019re building from the top down \u2014 defining the data structure first, then writing the markup and CSS to bring it to life. It\u2019s a small shift in workflow that makes a huge difference in speed, stability, and sanity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">A Testimonial Section Example<\/h3>\n\n\n\n<p>Let\u2019s say you want to build a simple <strong>Testimonials<\/strong> section.<\/p>\n\n\n\n<p>Before worrying about layout or styling, you start by defining what this section <em>is<\/em> and <em>what data it needs<\/em>. That\u2019s your schema.<\/p>\n\n\n\n<p>Here\u2019s what that looks like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{% schema %}\n{\n  \"name\": \"Testimonials\",\n  \"tag\": \"section\",\n  \"settings\": &#91;\n    {\n      \"type\": \"text\",\n      \"id\": \"heading\",\n      \"label\": \"Section Heading\",\n      \"default\": \"What our customers say\"\n    },\n    {\n      \"type\": \"select\",\n      \"id\": \"layout\",\n      \"label\": \"Layout Style\",\n      \"options\": &#91;\n        { \"value\": \"grid\", \"label\": \"Grid\" },\n        { \"value\": \"carousel\", \"label\": \"Carousel\" }\n      ],\n      \"default\": \"grid\"\n    }\n  ],\n  \"blocks\": &#91;\n    {\n      \"type\": \"testimonial\",\n      \"tag\": null,\n      \"name\": \"Testimonial\",\n      \"settings\": &#91;\n        { \"type\": \"text\", \"id\": \"author\", \"label\": \"Customer Name\" },\n        { \"type\": \"textarea\", \"id\": \"quote\", \"label\": \"Customer Quote\" },\n        { \"type\": \"image_picker\", \"id\": \"photo\", \"label\": \"Customer Photo\" }\n      ]\n    }\n  ],\n  \"max_blocks\": 6,\n  \"presets\": &#91;\n    {\n      \"name\": \"Testimonials\",\n      \"blocks\": &#91;\n        {\n          \"type\": \"testimonial\",\n          \"settings\": {\n            \"author\": \"Jane D.\",\n            \"quote\": \"This product changed my workflow completely!\"\n          }\n        },\n        {\n          \"type\": \"testimonial\",\n          \"settings\": {\n            \"author\": \"Rahul K.\",\n            \"quote\": \"Incredible experience and top-notch support.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n{% endschema %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">What You\u2019ve Defined<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The section will appear in the Theme Editor as <strong>\u201cTestimonials\u201d<\/strong> and wrap itself in a <code>&lt;section><\/code> tag.<\/li>\n\n\n\n<li>It has two customizable settings: a <strong>heading<\/strong> and a <strong>layout style<\/strong>.<\/li>\n\n\n\n<li>It supports up to six <strong>testimonial blocks<\/strong>, each with a name, quote, and optional photo.<\/li>\n\n\n\n<li>It includes a preset. This means when someone adds it to a page, they\u2019ll already see two ready-made testimonials to start with.<\/li>\n<\/ul>\n\n\n\n<p>You can read more about the available attributes and settings in the <a href=\"https:\/\/shopify.dev\/docs\/storefronts\/themes\/architecture\/sections\/section-schema\">Shopify section schema documentation<\/a>.<\/p>\n\n\n\n<p>With this schema alone, the Theme Editor is already aware of your section.<\/p>\n\n\n\n<p>You can add it, rearrange it, and play with its settings even before you\u2019ve written a single <code>&lt;div><\/code>.<\/p>\n\n\n\n<p>That\u2019s the beauty of schema-first development: you define <em>what\u2019s possible<\/em> before defining <em>how it looks<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Build the Markup<\/h2>\n\n\n\n<p>With your schema defined, Shopify already knows what data the section can hold. Now it\u2019s your job to decide <strong>how to display it<\/strong>. Every setting you created in the schema is automatically available through Liquid objects like <code>section.settings<\/code> and <code>block.settings<\/code>.<\/p>\n\n\n\n<p>Let\u2019s take the Testimonials schema we just built and give it a simple but elegant layout.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"testimonials-section testimonials--{{ section.settings.layout }}\">\n  {% if section.settings.heading != blank %}\n    &lt;h2 class=\"testimonials-heading\">{{ section.settings.heading }}&lt;\/h2>\n  {% endif %}\n\n  &lt;div class=\"testimonials-list\">\n    {% for block in section.blocks %}\n      {% if block.type == 'testimonial' %}\n        &lt;div class=\"testimonial-item\" {{ block.shopify_attributes }}>\n          {% if block.settings.photo %}\n            &lt;div class=\"testimonial-photo\">\n              &lt;img\n                src=\"{{ block.settings.photo | image_url: width: 160 }}\"\n                alt=\"{{ block.settings.author | escape }}\"\n                loading=\"lazy\"\n              >\n            &lt;\/div>\n          {% endif %}\n          &lt;blockquote class=\"testimonial-quote\">\n            \u201c{{ block.settings.quote }}\u201d\n          &lt;\/blockquote>\n          {% if block.settings.author %}\n            &lt;cite class=\"testimonial-author\">\u2014 {{ block.settings.author }}&lt;\/cite>\n          {% endif %}\n        &lt;\/div>\n      {% endif %}\n    {% endfor %}\n  &lt;\/div>\n&lt;\/div><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">What\u2019s Happening Here<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>section.settings.layout<\/code> is pulled straight from the schema\u2019s \u201cLayout Style\u201d dropdown, letting you output a class like <code>testimonials--grid<\/code> or <code>testimonials--carousel<\/code>.<\/li>\n\n\n\n<li>Each <code>block<\/code> represents one testimonial added through the Theme Editor.<\/li>\n\n\n\n<li><code>block.shopify_attributes<\/code> is a built-in helper that adds the necessary attributes for in-editor highlighting (so merchants can click a testimonial directly in the preview to edit it).<\/li>\n\n\n\n<li>The code checks for optional fields like photo or author before rendering them. This is a good habit to avoid empty tags.<\/li>\n<\/ul>\n\n\n\n<p>Even without styling, this will already render a functioning, editable testimonials section.<\/p>\n\n\n\n<p>Shopify automatically adds a wrapper <code>div<\/code> element around each block with a unique <code>id<\/code> attribute. Set the <code>tag<\/code> attribute to <code>null<\/code> if you don&#8217;t want it to wrap the block in anything. However, you should use <code>block.shopify_attributes<\/code> in that case to add the necessary data attributes for the block to be identified by the theme editor and make it compatible with the theme editor.<\/p>\n\n\n\n<p>Blocks that make use of\u00a0<code>\"tag\": null<\/code>\u00a0should contain a single top level HTML tag within the same Liquid file. Only a single HTML element can be tagged with\u00a0<code>{{ block.shopify_attributes }}<\/code>. This element should be the topmost HTML element in the file. This is important to allow the theme editor to move the entirety of the block&#8217;s markup to a new index when merchants re-order blocks without leaving orphaned HTML elements.<\/p>\n\n\n\n<p>You can read more about the available block attributes and settings in the <a href=\"https:\/\/shopify.dev\/docs\/storefronts\/themes\/architecture\/blocks\/theme-blocks\/schema\">Shopify block schema documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Add Some Style<\/h2>\n\n\n\n<p>Now wrap it up with minimal CSS right below your Liquid markup (or link to a stylesheet):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;style>\n  .testimonials-section {\n    max-width: 1000px;\n    margin: 3rem auto;\n    padding: 0 1rem;\n    text-align: center;\n  }\n\n  .testimonials-list {\n    display: grid;\n    gap: 2rem;\n    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n  }\n\n  .testimonial-item {\n    background: #fff;\n    border-radius: 10px;\n    padding: 1.5rem;\n    box-shadow: 0 2px 10px rgba(0,0,0,0.05);\n  }\n\n  .testimonial-photo img {\n    border-radius: 50%;\n    width: 80px;\n    height: 80px;\n    object-fit: cover;\n  }\n\n  .testimonial-quote {\n    font-style: italic;\n    margin: 1rem 0;\n  }\n\n  .testimonial-author {\n    font-weight: bold;\n    color: #333;\n  }\n&lt;\/style><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Try It in the Theme Editor<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Add your new section file to <code>sections\/testimonials.liquid<\/code>.<\/li>\n\n\n\n<li>Open the Theme Editor and click <strong>Add section \u2192 Testimonials<\/strong>.<\/li>\n\n\n\n<li>You\u2019ll see your schema fields and prefilled blocks instantly.<\/li>\n\n\n\n<li>Edit text, change layout, or add more testimonials. No code required.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Inline Variables and Smart Class Names<\/h2>\n\n\n\n<p>If your section has user-defined settings like background color, column count, spacing, or even layout toggles, you might be tempted to create unique CSS for every instance using something like <code>.section-{{ section.id }}<\/code>. That works, but it\u2019s not elegant. Every section instance ends up with its own style block, your CSS becomes uncacheable, and your HTML fills up with identifiers that don\u2019t mean anything to humans.<\/p>\n\n\n\n<p>There\u2019s a cleaner, modern approach that Shopify\u2019s own themes now use: <strong>inline CSS variables<\/strong>, optionally combined with <strong>modifier class names<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Inline Variable Method<\/h3>\n\n\n\n<p>Instead of generating new CSS rules per section, you can pass dynamic values directly into your HTML as inline variables.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"testimonials-section\"\n     style=\"--bg: {{ section.settings.bg_color }};\n            --columns: {{ section.settings.columns }};\n            --gap: {{ section.settings.spacing }}px;\">\n  ...\n&lt;\/div><\/code><\/pre>\n\n\n\n<p>Then your CSS stays static and reusable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.testimonials-section {\n  background-color: var(--bg);\n  display: grid;\n  gap: var(--gap);\n  grid-template-columns: repeat(var(--columns), 1fr);\n}<\/code><\/pre>\n\n\n\n<p>Each section instance now carries its own styling values internally. No <code>section-{{ section.id }}<\/code> needed.<\/p>\n\n\n\n<p>The variables are automatically scoped to that section, which means multiple \u201cTestimonials\u201d sections can appear on the same page without clashing.<\/p>\n\n\n\n<p>This is the pattern Shopify\u2019s <strong>Dawn<\/strong> and other modern themes rely on because:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CSS remains cacheable (no redundant <code>&lt;style><\/code> tags).<\/li>\n\n\n\n<li>The markup stays clean and semantic.<\/li>\n\n\n\n<li>Each section behaves like its own small \u201ctheme instance.\u201d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">The Class Modifier Method<\/h3>\n\n\n\n<p>For some settings like layout options that map to a few predictable scenarios (e.g., 2 columns, 3 columns, 4 columns) using <strong>modifier class names<\/strong> is even simpler.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"testimonials-section testimonials--{{ section.settings.columns }}\">\n  ...\n&lt;\/div><\/code><\/pre>\n\n\n\n<p>Your CSS defines those scenarios:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.testimonials--2 .testimonial-item {\n  grid-template-columns: repeat(2, 1fr);\n}\n\n.testimonials--3 .testimonial-item {\n  grid-template-columns: repeat(3, 1fr);\n}\n\n.testimonials--4 .testimonial-item {\n  grid-template-columns: repeat(4, 1fr);\n}<\/code><\/pre>\n\n\n\n<p>Now, the merchant\u2019s choice in the Theme Editor (2, 3, or 4 columns) directly maps to a class, and your CSS remains fully external, fast, and cacheable.<\/p>\n\n\n\n<p>This \u201cclass modifier\u201d approach is perfect for <strong>discrete design choices<\/strong> i.e., fixed sets of options you can plan for ahead of time. On the other hand, inline variables shine when users need <strong>continuous or custom values<\/strong> (colors, spacing, numeric controls, etc.).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Leverage Metafields and Metaobjects<\/h2>\n\n\n\n<p>Everything we\u2019ve discussed so far keeps section content fairly static. Sure, you could tweak the heading or description in each section, but that approach falls apart once you\u2019re managing hundreds of products. Especially if many of them share the same type of content.<\/p>\n\n\n\n<p>Metafields and metaobjects are Shopify\u2019s way of turning themes into proper content systems. They let you connect reusable data to products, collections, or even entire pages, so you can display dynamic content without manually editing dozens of section instances.<\/p>\n\n\n\n<p>I used this approach for a client who wanted to display ingredient information on each product page. Metafields and metaobjects excel here because every product has its own unique list of ingredients but the same ingredient might appear in multiple products. By defining ingredients as <strong>metaobjects<\/strong> and connecting them through a <strong>product metafield<\/strong>, I could dynamically output the right set of ingredients for each product while keeping the ingredient data centralized and reusable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Address the Dreaded Liquid Overload<\/h2>\n\n\n\n<p>Your Liquid code for the testimonials section works beautifully now. However, as you add more block types, loops, and conditional logic, your section file can start looking like a miniature spaghetti factory. It happens to everyone but you should avoid it.<\/p>\n\n\n\n<p>Instead of creating a section file that tries to handle every possible block variation directly inside the <code>{% for block in section.blocks %}<\/code> loop, move each block type\u2019s code into its own <strong>snippet<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example<\/h3>\n\n\n\n<p>Inside your <code>sections\/testimonials.liquid<\/code> file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{% for block in section.blocks %}\n  {% case block.type %}\n    {% when 'testimonial' %}\n      {% render 'block-testimonial', block: block %}\n    {% when 'quote' %}\n      {% render 'block-quote', block: block %}\n  {% endcase %}\n{% endfor %}<\/code><\/pre>\n\n\n\n<p>And then in <code>snippets\/block-testimonial.liquid<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"testimonial\" {{ block.shopify_attributes }}>\n  &lt;blockquote>\u201c{{ block.settings.quote }}\u201d&lt;\/blockquote>\n  &lt;cite>{{ block.settings.author }}&lt;\/cite>\n&lt;\/div><\/code><\/pre>\n\n\n\n<p>This keeps your main section clean, readable, and easy to extend later. If you ever add a new block type, you just drop a new snippet file. No need to scroll through 200 lines of Liquid.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Differentiate Blocks with Targeted Presets<\/h2>\n\n\n\n<p>Your current testimonial preset already does what a good default should. It gives the merchant a ready-to-use section with a couple of sample testimonials instead of a blank canvas. That\u2019s exactly how presets are meant to work. They make your section feel functional the moment it\u2019s added.<\/p>\n\n\n\n<p>But you can take presets even further.<\/p>\n\n\n\n<p>Right now, your section offers <strong>one default configuration<\/strong>. If a merchant wants a different layout such as a two-column grid instead of a single-column list, or a version with images instead of just text, they\u2019d still need to manually change the settings after adding it.<\/p>\n\n\n\n<p>To make the Theme Editor experience smoother, you can create <strong>multiple presets<\/strong>, each representing a variation of your section. Shopify will list each preset separately under \u201cAdd section,\u201d so the merchant can choose the layout or style they want from the start.<\/p>\n\n\n\n<p>For example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"presets\": &#91;\n  {\n    \"name\": \"Testimonials \u2014 Simple Grid\",\n    \"settings\": { \"layout\": \"grid\" },\n    \"blocks\": &#91;\n      {\n        \"type\": \"testimonial\",\n        \"settings\": {\n          \"author\": \"Jane D.\",\n          \"quote\": \"This product changed my workflow completely!\"\n        }\n      },\n      {\n        \"type\": \"testimonial\",\n        \"settings\": {\n          \"author\": \"Rahul K.\",\n          \"quote\": \"Incredible experience and top-notch support.\"\n        }\n      }\n    ]\n  },\n  {\n    \"name\": \"Testimonials \u2014 Carousel\",\n    \"settings\": { \"layout\": \"carousel\" },\n    \"blocks\": &#91;\n      {\n        \"type\": \"testimonial\",\n        \"settings\": {\n          \"author\": \"Meena R.\",\n          \"quote\": \"It\u2019s so easy to manage now \u2014 our site feels alive!\"\n        }\n      },\n      {\n        \"type\": \"testimonial\",\n        \"settings\": {\n          \"author\": \"Carlos M.\",\n          \"quote\": \"The smooth scrolling carousel layout looks fantastic on mobile.\"\n        }\n      },\n      {\n        \"type\": \"testimonial\",\n        \"settings\": {\n          \"author\": \"Anna S.\",\n          \"quote\": \"Our customers love how authentic these testimonials look.\"\n        }\n      }\n    ]\n  }\n]<\/code><\/pre>\n\n\n\n<p>Now, when the merchant clicks <strong>Add section<\/strong>, they\u2019ll see two separate options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Testimonials \u2014 Simple Grid<\/strong><\/li>\n\n\n\n<li><strong>Testimonials \u2014 Carousel<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Each one already has the right layout and a few demo blocks to make the preview look real from the start.<br>This saves the merchant from adding and deleting blocks manually and makes your section feel much more intentional and user-friendly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping It Up<\/h2>\n\n\n\n<p>Building sections in Shopify isn\u2019t just about getting something to render. It\u2019s about creating flexible, reusable components that make your theme easier to maintain and a joy to use for merchants.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Starting with the schema gives your section structure.<\/li>\n\n\n\n<li>Smart styling with variables and classes keeps it clean and scalable.<\/li>\n\n\n\n<li>Metafields and metaobjects bring true dynamic content into the mix.<\/li>\n\n\n\n<li>And well-thought-out presets and snippets make the Theme Editor experience smooth and professional.<\/li>\n<\/ol>\n\n\n\n<p>The magic happens when you treat each section like a <strong>self-contained system<\/strong> with structured data, thoughtful markup, and minimal Liquid noise. The less you repeat yourself, the better your theme performs and the easier it is for someone else (or future you) to extend it later.<\/p>\n\n\n\n<p>So, whether you\u2019re building a product benefits grid, testimonials, or dynamic ingredient lists, the mindset stays the same: <strong>define clearly, build cleanly, and connect smartly.<\/strong><\/p>\n\n\n\n<p>Once you start thinking of sections as modular, data-driven building blocks rather than static layouts, Shopify stops feeling like a page builder and starts behaving like a real content framework.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you peel back the glossy storefront of a Shopify site, what you\u2019ll find underneath isn\u2019t a tangle of random code. It\u2019s a clean system of building blocks called sections. Every banner, every product grid, every testimonial carousel, all of it lives inside these modular, self-contained units. Sections are what make Shopify themes so powerful [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[26],"class_list":["post-10278","post","type-post","status-publish","format-standard","hentry","category-how-to-guides","tag-shopify"],"_links":{"self":[{"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/posts\/10278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/comments?post=10278"}],"version-history":[{"count":11,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/posts\/10278\/revisions"}],"predecessor-version":[{"id":10298,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/posts\/10278\/revisions\/10298"}],"wp:attachment":[{"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/media?parent=10278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/categories?post=10278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hellonitish.com\/blog\/wp-json\/wp\/v2\/tags?post=10278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}