{"id":11777,"date":"2020-05-27T13:59:41","date_gmt":"2020-05-27T11:59:41","guid":{"rendered":"http:\/\/blog.belvg.com\/?p=11777"},"modified":"2026-05-04T20:24:03","modified_gmt":"2026-05-04T18:24:03","slug":"magento-2-creating-a-new-theme","status":"publish","type":"post","link":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html","title":{"rendered":"How to Create New Magento 2 Themes"},"content":{"rendered":"\n<p>Here you will learn how to create new Magento 2 themes. Let&rsquo;s look through all the steps you need to follow, including Magento theme declaration, registration, applying it in the admin panel, creating directories for CSS, JavaScript, images and fonts, theme logo definition and others. With our insightful guide, you will be able to create a theme without any difficulties.<\/p>\n<p><!--more--><\/p>\n<p>In this article, we are going to discuss creating themes in Magento 2. Compared to Magento 1, the latter version is considered to be a more up-to-date and upgraded platform. As for theme development, the main difference is that a modular code structure has been implemented. Now, all static files such as JS, CSS, and images are located in the web folder while the skin folder has been removed from the home directory.<\/p>\n<p>After completing the steps below, you can create your first theme, which can be used in the future as a template for your other themes:<\/p>\n<p><a href=\"#step_1\">Magento theme directory<br>\n<\/a><a href=\"#step_2\">Magento theme declaration<br>\n<\/a><a href=\"#step_3\">Magento theme registration<br>\n<\/a><a href=\"#step_4\">Adding Composer.json file<br>\n<\/a><a href=\"#step_5\">Applying theme in the admin panel<br>\n<\/a><a href=\"#step_6\">Creating directories for CSS, JavaScript, images &amp; fonts<br>\n<\/a><a href=\"#step_7\">Theme logo definition<br>\n<\/a><a href=\"#step_8\">Image configuration<br>\n<\/a><a href=\"#step_9\">Using LESS for changing styles<br>\n<\/a><a href=\"#step_10\">Translations overview<br>\n<\/a><a href=\"#step_11\">Extending and overriding layout<br>\n<\/a><a href=\"#step_12\">Module templates<br>\n<\/a><a href=\"#step_13\">Theme removal<br>\n<\/a><a href=\"#step_14\">Magento theme structure<\/a><\/p>\n<h2 id=\"step_1\">Magento theme directory<\/h2>\n<p>Magento 2 themes are located in the <em>\/app\/design\/frontend<\/em> folder. First, it&rsquo;s necessary to create a <strong>Vendor<\/strong> folder and then create a theme folder inside of it.<\/p>\n<p>For example: <em>\/app\/design\/frontend\/BelVG\/air<\/em>.<\/p>\n<p>BelVG is a vendor, air is a theme folder. It should be mentioned that <a href=\"https:\/\/belvg.com\/team\" target=\"_blank\" rel=\"noopener\">developers<\/a> recommend to begin the name of a folder with a capital letter despite the fact this is not an indispensable condition.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-creation.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-creation.png\" alt=\"magento 2 theme creation\" width=\"410\" height=\"409\" class=\"lazy aligncenter size-full wp-image-26265\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_2\">Magento theme declaration<\/h2>\n<p>In order to define Magento themes, in the theme root folder you should create a theme .xml file with following details:<\/p>\n<pre class=\"lang:default decode:true\">&lt;theme xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Config\/etc\/theme.xsd\"&gt;\r\n   &lt;title&gt;Air&lt;\/title&gt;\r\n   &lt;parent&gt;Magento\/luma&lt;\/parent&gt;\r\n   &lt;media&gt;\r\n  &lt;preview_image&gt;media\/air.jpg&lt;\/preview_image&gt;\r\n   &lt;\/media&gt;\r\n&lt;\/theme&gt;<\/pre>\n<p>In the <strong>title<\/strong> tag, a subject name is defined. In the <strong>parent<\/strong> tag, a theme which is set as a parent one is defined. All unfound static files, as well as template files, will be taken from a parent theme. In this example, the &ldquo;luma&rdquo; theme bound with <a href=\"https:\/\/belvg.com\/magento2-development\" target=\"_blank\" rel=\"noopener\">Magento 2<\/a> is defined. Whereas, Magento\/blank theme is considered to be a parent theme for &ldquo;luma&rdquo;. It is a basic theme, so there is no parent theme. Compared to Magento 1, there are no limits on the levels of inheritance and their quantity. In the <strong>preview_image<\/strong> tag, a thumbnail is defined to present a theme in the admin part.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/themes-in-magento-2-creating.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/themes-in-magento-2-creating.png\" alt=\"themes in magento 2 creating\" width=\"337\" height=\"430\" class=\"lazy aligncenter size-full wp-image-26266\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_3\">Magento theme registration<\/h2>\n<p>In order to register a theme in the system, in the theme folder you should create a registration.php file with following details:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\n\\Magento\\Framework\\Component\\ComponentRegistrar::register(\r\n\\Magento\\Framework\\Component\\ComponentRegistrar::THEME,\r\n'frontend\/&lt;Vendor&gt;\/&lt;theme&gt;',\r\n__DIR__\r\n);<\/pre>\n<p>In our case, there will be:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?php\r\n\\Magento\\Framework\\Component\\ComponentRegistrar::register(\r\n\\Magento\\Framework\\Component\\ComponentRegistrar::THEME,\r\n'frontend\/Belvg\/air',\r\n__DIR__\r\n);<\/pre>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-creating.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-creating.png\" alt=\"magento 2 theme creating\" width=\"669\" height=\"207\" class=\"lazy aligncenter size-full wp-image-26267\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_4\">Adding Composer.json file<\/h2>\n<p>It is not necessary, but you may create a <strong>composer.json<\/strong> file to spread a theme as a composer package.<br>\nFor example, let&rsquo;s take a <strong>composer.json<\/strong> file from &ldquo;luma&rdquo; theme:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n\"name\": \"magento\/theme-frontend-luma\",\r\n\"description\": \"N\/A\",\r\n\"require\": {\r\n\"php\": \"~5.6.5|7.0.2|7.0.4|~7.0.6\",\r\n\"magento\/theme-frontend-blank\": \"100.1.*\",\r\n\"magento\/framework\": \"100.1.*\"\r\n},\r\n\"type\": \"magento2-theme\",\r\n\"version\": \"100.1.6\",\r\n\"license\": [\r\n\"OSL-3.0\",\r\n\"AFL-3.0\"\r\n],\r\n\"autoload\": {\r\n\"files\": [\r\n\"registration.php\"\r\n]\r\n}\r\n}\r\n<\/pre>\n<h2 id=\"step_5\">Applying theme in the admin panel<\/h2>\n<p>Proceed to the section <strong>Content<\/strong> &mdash;&gt; <strong>Design<\/strong> &mdash;&gt; <strong>Themes<\/strong> and make sure that the created theme is on the list:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-registration.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-registration.png\" alt=\"magento 2 theme registration\" width=\"725\" height=\"134\" class=\"lazy aligncenter size-full wp-image-26268\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<p>If we see the necessary theme on the list, go to <strong>Content<\/strong> &rarr; <strong>Design<\/strong> &rarr; <strong>Configuration<\/strong> and then click <strong>Edit<\/strong> for the website or web store that you want to apply your theme to. Select a theme and save settings.<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-theme-registration.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-theme-registration.png\" alt=\"magento theme registration\" width=\"641\" height=\"200\" class=\"lazy aligncenter size-full wp-image-26269\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_6\">Creating directories for CSS, JavaScript, images and fonts<\/h2>\n<p>Let&rsquo;s create a folder for theme static files. The structure should be following:<\/p>\n<p><code><i>app\/design\/frontend\/&lt;Vendor&gt;\/&lt;theme&gt;\/<\/i><\/code><\/p>\n<p>&#9500;&#9472;&#9472;web\/<br>\n&#9474;&#9500;&#9472;&#9472;css\/<br>\n&#9474;&#9474;&#9500;&#9472;&#9472;source\/<br>\n&#9474;&#9500;&#9472;&#9472;fonts\/<br>\n&#9474;&#9500;&#9472;&#9472;images\/<br>\n&#9474;&#9500;&#9472;&#9472;js\/<\/p>\n<p>If everything related to CSS, fonts, images and JS folders is clear, there is still a question about a source folder and the way it should be used.<\/p>\n<p>Magento 2 incorporates LESS, a CSS pre-processor that simplifies the management of complex CSS files. To define styles of a store, you can use both CSS and LESS stylesheets.<\/p>\n<p>If your theme inherits from the Magento out-of-the-box Blank or Luma theme, you can override the default LESS files.<\/p>\n<p>As an example, we can create a <strong>_theme.less<\/strong> file with basic variables override in Magento UI. In the <strong>\/lib\/web\/css\/source\/lib\/variables\/<\/strong>&nbsp;folder in source files we can find default values for those variables which can be overridden. The module styles can be set in a <strong>_module.less<\/strong> file as well as for widgets it can be performed in a <strong>_widgets.less<\/strong> file. For minor corrections, it is possible to create a <strong>_extend.less<\/strong> file. So as an example we&rsquo;re going to change a <strong>_theme.less<\/strong> file.<\/p>\n<p>Now we have the following structure:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2020\/05\/magento-2-themes-vendor-and-theme.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2020\/05\/magento-2-themes-vendor-and-theme.png\" alt=\"magento 2 themes vendor and theme\" width=\"362\" height=\"391\" class=\"lazy aligncenter size-full wp-image-26278\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_7\">Theme logo definition<\/h2>\n<p>In Magento 2, <strong>logo.svg <\/strong>is located in&nbsp;<code>&lt;theme_dir&gt;\/web\/images<\/code> by default. Logo format is SVG by default.<\/p>\n<p>In order to use your own logo, you should:<\/p>\n<ol>\n<li>If your logo is .svg, you should rename as logo.svg and put in <code>&lt;theme_dir&gt; \/web\/images<\/code><\/li>\n<li>If your logo has another format, it should be declared. For logo declaration it&rsquo;s necessary to add a file <code>&lt;theme&gt;\/Magento_Theme\/layout\/default.xml<\/code>.<\/li>\n<\/ol>\n<p>In this case, we extend the layout of a parent theme. Then in the layout, the data on the logo should be added.<\/p>\n<p>For example, the <strong>logo.png<\/strong> logo with the size 70&times;40 will be declared as:<\/p>\n<pre class=\"lang:default decode:true\">&lt;page xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:View\/Layout\/etc\/page_configuration.xsd\"&gt;\r\n&lt;body&gt;\r\n&lt;referenceBlock name=\"logo\"&gt;\r\n&lt;arguments&gt;\r\n&lt;argument name=\"logo_file\" xsi:type=\"string\"&gt;images\/logo.png&lt;\/argument&gt;\r\n&lt;argument name=\"logo_img_width\" xsi:type=\"number\"&gt;70&lt;\/argument&gt;\r\n&lt;argument name=\"logo_img_height\" xsi:type=\"number\"&gt;40&lt;\/argument&gt;\r\n&lt;\/arguments&gt;\r\n&lt;\/referenceBlock&gt;\r\n&lt;\/body&gt;\r\n&lt;\/page&gt;<\/pre>\n<h2 id=\"step_8\">Image configuration<\/h2>\n<p>The function is considered to be a rather useful one in Magento 2. Product images configuration such as size, proportions, cutting, background color is described in the file&nbsp;<code>&lt;theme&gt;\/etc\/view.xml<\/code>.&nbsp;The file is required, so in case it wasn&rsquo;t inherited from Magento 2 default theme &ldquo;luma&rdquo; or &ldquo;blank&rdquo;, it is necessary to copy it from a default theme (values are not inherited).<\/p>\n<p>Let&rsquo;s consider the example. On the main page, products are displayed with the widget. Now decrease images from 240&times;300 to 200&#1093;200.<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;view xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"urn:magento:framework:Config\/etc\/view.xsd\"&gt;\r\n&lt;media&gt;\r\n&lt;images module=\"Magento_Catalog\"&gt;\r\n...\r\n&lt;image id=\"new_products_content_widget_grid\" type=\"small_image\"&gt;\r\n&lt;width&gt;200&lt;\/width&gt;\r\n&lt;height&gt;200&lt;\/height&gt;\r\n&lt;\/image&gt;\r\n...\r\n&lt;\/media&gt;\r\n...\r\n&lt;\/view&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-configuration-step-by-step.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-configuration-step-by-step.png\" alt=\"magento 2 theme configuration step by step\" width=\"728\" height=\"511\" class=\"lazy aligncenter size-full wp-image-26270\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>new_products_content_widget_grid<\/strong> is unique within theme. Type small_image coincides with <strong>Small Image Role<\/strong> in admin part. Permitted values are image, small_image, swatch_image, swatch_thumb and thumbnail.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-themes-create-in-admin.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-themes-create-in-admin.png\" alt=\"magento 2 themes create in admin\" width=\"619\" height=\"305\" class=\"lazy aligncenter size-full wp-image-26271\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>After saving an item, all images are cached. That&rsquo;s why after size alteration a command <code>php bin\/magento catalog:images:resize<\/code> can be executed for images regeneration.<\/p>\n<p>As a result, we have the same &ldquo;Luma&rdquo; but with another logo and image size.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-step-by-step.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-step-by-step.png\" alt=\"magento 2 theme step-by-step\" width=\"537\" height=\"403\" class=\"lazy aligncenter size-full wp-image-26272\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_9\">Using LESS for changing styles<\/h2>\n<p>After a theme has been created, but before starting to change the styles, you should decide which LESS compilation mode should be used. There are two modes available in Magento:<\/p>\n<p>&ndash; server-side compilation mode;<br>\n&ndash; client-side (recommended for theme development).<\/p>\n<p>Client compilation is used during development mode, as all changes performed can be seen in a moment. A browser will compile every time when calling styles file. If it&rsquo;s server compilation, you should remove folder contents pub\/static and var\/view_preprocessed manually. These actions can be optimized with Grunt. It tracks any changes in files, removes definite folders and compiles LESS automatically.<\/p>\n<p>The compilation type can be changed in admin panel: Stores -&gt; Configuration -&gt; Advanced -&gt; Developer -&gt; Frontend Development Workflow -&gt; Workflow type:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/frontend-development-workflow-magento-2.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/frontend-development-workflow-magento-2.png\" alt=\"frontend development workflow magento 2\" width=\"715\" height=\"107\" class=\"lazy aligncenter size-full wp-image-26273\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<p><strong>Attention!<\/strong><\/p>\n<p>Client side LESS compilation setting are available in default and developer mode:<\/p>\n<p><code>bin\/magento deploy:mode:set default<\/code><br>\n<code>bin\/magento deploy:mode:set developer<\/code><\/p>\n<p>In production mode, we only have server side LESS compilation:<\/p>\n<p><code>bin\/magento deploy:mode:set production<\/code><\/p>\n<p>Let&rsquo;s apply server compilation which is considered as default. We&rsquo;re going to set background color as well as fonts in the file _theme.less.<\/p>\n<p>@panel__background-color: darken(@page__background-color, 20%)<br>\n@text__color: #fff<br>\n@font-family__base: &lsquo;Arial&rsquo;, sans-serif<\/p>\n<p>Since we&rsquo;ve applied server-side compilation mode, after changes we need to remove directories contents \/pub\/static\/frontend\/Belvg\/air\/en_US &#1080; var\/view_preprocessed.<\/p>\n<p>Let&rsquo;s observe the changes:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-development-in-admin.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-development-in-admin.png\" alt=\"magento 2 theme development in admin\" width=\"307\" height=\"445\" class=\"lazy aligncenter size-full wp-image-26274\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<p>As we can see, the template structure in Magento 2 pretty differs from Magento 1.x. The structure has been improved, so now it&rsquo;s much more logical, all the theme files are structured, which is very convenient for search.<\/p>\n<h2 id=\"step_10\">Translations overview<\/h2>\n<p>In Magento 1.9.x, for CVS files storage, a local folder is created in the theme folder. Then a language folder is created, for example, ru_RU, and within it, a file translate.csv.with is created. In Magento 2, it is has been changed. An i18n folder should be created in the theme root. Then in the i18n folder, a file with translation is created, e.x. da_DK.csv.<\/p>\n<p>Example: <em>\/app\/design\/frontend\/Belvg\/air\/i18n\/da_DK.csv<\/em><\/p>\n<p>In order to generate a translation file in the folder you may use i18n tool. The command can be executed in home directory in Magento 2:<\/p>\n<p>php bin\/magento i18n:collect-phrases &ndash;output=&rdquo;app\/design\/frontend\/Belvg\/air\/i18n\/da_DK.csv&rdquo; app\/design\/frontend\/Belvg\/air<br>\nAll lines are compiled into a dictionary, then a dictionary file is created: app\/design\/frontend\/Belvg\/air\/i18n\/da_DK .csv. Translation file has the same format as in Magento 1.<\/p>\n<p>Let&rsquo;s generate a localization file by using default theme &ldquo;luma&rdquo; and execute a command: php bin\/magento i18n:collect-phrases &ndash;output=&rdquo;app\/design\/frontend\/Belvg\/air\/i18n\/da_DK.csv&rdquo; app\/design\/frontend\/Magento\/luma<\/p>\n<p>Here is the result:<\/p>\n<p><a href=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-develop.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/belvg.com\/wp-content\/uploads\/2019\/06\/pixel.png\" data-src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/magento-2-theme-develop.png\" alt=\"magento 2 theme develop\" width=\"717\" height=\"637\" class=\"lazy aligncenter size-full wp-image-26275\" title=\"How to Create New Magento 2 Themes\"><\/a><\/p>\n<h2 id=\"step_11\">Extending and overriding layout<\/h2>\n<p>Layouts in certain themes can be extended or overridden in <a href=\"https:\/\/belvg.com\/magento-development\" target=\"_blank\" rel=\"noopener\">Magento 2<\/a>.<\/p>\n<p>Let&rsquo;s extend a layout:<\/p>\n<p>In order not to copy page layouts or common layouts from a default theme, you should define extending layout. For example, to customize the layout defined in&nbsp;<code>&lt;Magento_Catalog_module_dir&gt;\/view\/frontend\/layout\/catalog_product_view.xml<\/code> you need to add a layout file with the same name in your custom theme, like the following:&nbsp;<code>&lt;theme_dir&gt;\/Magento_Catalog\/layout\/catalog_product_view.xml<\/code><\/p>\n<p>To add an extending layout file page put the file in the following location:<\/p>\n<p><code>&lt;theme_dir&gt;<\/code><\/p>\n<p>|__\/&lt;Namespace&gt;_&lt;Module&gt;<\/p>\n<p>|__\/layout<\/p>\n<p>|&ndash;&lt;layout1&gt;.xml<\/p>\n<p>|&ndash;&lt;layout2&gt;.xml<\/p>\n<p>Let&rsquo;s override a layout:<\/p>\n<p>Main basic layouts can be overridden by creating a folder override\/base in the theme module folder:<\/p>\n<p><code>&lt;theme_dir&gt;<\/code><\/p>\n<p>|__\/&lt;Namespace_Module&gt;<\/p>\n<p>|__\/layout<\/p>\n<p>|__\/override<\/p>\n<p>|__\/base<\/p>\n<p>|&ndash;&lt;layout1&gt;.xml<\/p>\n<p>|&ndash;&lt;layout2&gt;.xml<\/p>\n<p>These files override the following layouts:<\/p>\n<p><code>&lt;module_dir&gt;\/view\/frontend\/layout\/&lt;layout1&gt;.xml<\/code><\/p>\n<p><code>&lt;module_dir&gt;\/view\/frontend\/layout\/&lt;layout2&gt;.xml<\/code><\/p>\n<p>Besides, parent theme layouts can be overridden as well by creating a folder override\/base in the theme module folder:<\/p>\n<p><code>&lt;theme_dir&gt;<\/code><\/p>\n<p>|__\/&lt;Namespace_Module&gt;<\/p>\n<p>|__\/layout<\/p>\n<p>|__\/override<\/p>\n<p>|__\/theme<\/p>\n<p>|__\/&lt;Parent_Vendor&gt;<\/p>\n<p>|__\/&lt;parent_theme&gt;<\/p>\n<p>|&ndash;&lt;layout1&gt;.xml<\/p>\n<p>|&ndash;&lt;layout2&gt;.xml<\/p>\n<p>These files override the following layouts:<\/p>\n<p><code>&lt;parent_theme_dir&gt;\/&lt;Namespace&gt;_&lt;Module&gt;\/layout\/&lt;layout1&gt;.xml<\/code><\/p>\n<p><code>&lt;parent_theme_dir&gt;\/&lt;Namespace&gt;_&lt;Module&gt;\/layout\/&lt;layout1&gt;.xml<\/code><\/p>\n<h2 id=\"step_12\">Modules templates<\/h2>\n<p>Templates are stored in the following locations:<\/p>\n<p>Module templates: <code>&lt;module_dir&gt;\/view\/frontend\/templates\/&lt;path_to_templates&gt;<\/code><\/p>\n<p>Theme templates: <code>&lt;theme_dir&gt;\/&lt;Namespace&gt;_&lt;Module&gt;\/templates\/&lt;path_to_templates&gt;<\/code><\/p>\n<p>Templates in contrast to the layout you can only override.<\/p>\n<p>So in case if we want to override a template for search page that are located in the directory <code>\\app\\code\\Magento\\CatalogSearch\\view\\frontend\\templates\\result.phtml<\/code>, the path to templates will be following: <code>\\app\\design\\frontend\\Belvg\\air\\Magento_CatalogSearch\\templates\\result.phtml<\/code><\/p>\n<div class=\"module_in_content_container\"><a href=\"https:\/\/belvg.com\/magento-development\" class=\"link_to_module\" target=\"_blank\" rel=\"noopener\"><\/a><div class=\"module_content\"><img src=\"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2015\/11\/Magento-2-Development.png\" width=\"360\" height=\"360\" alt=\"Magento 2 Development\" class=\"module_image\" title=\"How to Create New Magento 2 Themes\"><div class=\"module_content_part\"><h3 class=\"title\">Magento Development<\/h3><p class=\"module_content_text\">Take your online store to the next level with BelVG Magento Development <\/p><a href=\"https:\/\/belvg.com\/magento-development\" class=\"link_2_to_module\" target=\"_blank\" style=\"display:inline-block\" rel=\"noopener\"><span class=\"read-more\">Visit the page<\/span><\/a><\/div><\/div><\/div>\n<h2 id=\"step_13\">Theme removal<\/h2>\n<p>If a theme is a Composer package, it can be removed with a command:<\/p>\n<p><code>Magento theme:uninstall [--backup-code] [-c|--clear-static-content] {theme path} ... {theme path}<\/code><\/p>\n<p>The <code>{theme path}<\/code> here is the relative path to the theme, starting with the area name.<\/p>\n<p><code>--backup-code<\/code> backs up the Magento 2 codebase as discussed in the paragraphs that follow.<\/p>\n<p><code>--clear-static-content<\/code> cleans generated static view files, which is necessary to allows static view files to display properly.<\/p>\n<p>In case if a theme is not a Composer package, you should carry out the following steps in order to remove a theme:<\/p>\n<ul>\n<li>Remove a theme app\/design\/frontend\/(Vendor) folder;<\/li>\n<li>Remove contents var\/view_preprocessed;<\/li>\n<li>Remove contents of pub\/static\/frontend\/;<\/li>\n<li>Open Magento 2 database, find theme table and remove a subject name line;<\/li>\n<li>Remove cache with a command <code>php bin\/magento cache:flush<\/code>.<\/li>\n<\/ul>\n<h2 id=\"step_14\">Magento theme structure<\/h2>\n<p>The structure of a Magento theme directory typically would look like this:<\/p>\n<p><code>&lt;theme_dir&gt;\/<\/code><\/p>\n<p>&#9500;&#9472;&#9472; &lt;Vendor&gt;_&lt;Module&gt;\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; web\/<\/p>\n<p>&#9474; &#9474; &#9500;&#9472;&#9472; css\/<\/p>\n<p>&#9474; &#9474; &#9474; &#9500;&#9472;&#9472; source\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; layout\/<\/p>\n<p>&#9474; &#9474; &#9500;&#9472;&#9472; override\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; templates\/<\/p>\n<p>&#9500;&#9472;&#9472; etc\/<\/p>\n<p>&#9500;&#9472;&#9472; i18n\/<\/p>\n<p>&#9500;&#9472;&#9472; media\/<\/p>\n<p>&#9500;&#9472;&#9472; web\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; css\/<\/p>\n<p>&#9474; &#9474; &#9500;&#9472;&#9472; source\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; fonts\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; images\/<\/p>\n<p>&#9474; &#9500;&#9472;&#9472; js\/<\/p>\n<p>&#9500;&#9472;&#9472; composer.json<\/p>\n<p>&#9500;&#9472;&#9472; registration.php<\/p>\n<p>&#9500;&#9472;&#9472; theme.xml<\/p>\n<h2>Conclusion<\/h2>\n<p>As you can see, the structure in Magento 2 is different from Magento 1.x. The theme structure has been significantly improved and now theme files are stored all together which makes the search much easier to use. But the modified structure is not the only significant point. Asynchronous modules load with RequireJS has been added. It can be performed without adding scripts in the head section. Instead of Prototype library, now jQuery\/jQuery UI is used. LESS is used instead of CSS which increases production rate when developing styles.&nbsp; In addition, we have an opportunity to create themes as composer packages.<\/p>\n\n","protected":false},"excerpt":{"rendered":"Here you will learn how to create new Magento 2 themes. Let&#8217;s look through all &#8230;","protected":false},"author":82,"featured_media":26264,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,389,526],"tags":[],"class_list":["post-11777","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-magento","category-magento2-development","category-magento-theme","post_format-post-format-image"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Let&#039;s take a look at Magento 2 themes and learn how to create them step by step. We describe every detail in our insightful guide. Improve your developer skills with BelVG!\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andrey Litvin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#article\",\"name\":\"How to Create New Magento 2 Themes | BelVG Blog\",\"headline\":\"How to Create New Magento 2 Themes\",\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/how-to-create-a-new-magento-2-theme.png\",\"width\":784,\"height\":417,\"caption\":\"how to create a new magento 2 theme\"},\"datePublished\":\"2020-05-27T13:59:41+02:00\",\"dateModified\":\"2026-05-04T20:24:03+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":3,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#webpage\"},\"articleSection\":\"Magento, Magento 2 Development, Magento Theme, Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"position\":2,\"name\":\"Magento\",\"item\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#listItem\",\"name\":\"How to Create New Magento 2 Themes\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#listItem\",\"position\":3,\"name\":\"How to Create New Magento 2 Themes\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/category\\\/magento#listItem\",\"name\":\"Magento\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin\",\"name\":\"Andrey Litvin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e1a6e3c80cb940fddb65016d94b015cd951b4a8a9cd7227565131f28ea95c7a0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andrey Litvin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#webpage\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html\",\"name\":\"How to Create New Magento 2 Themes | BelVG Blog\",\"description\":\"Let's take a look at Magento 2 themes and learn how to create them step by step. We describe every detail in our insightful guide. Improve your developer skills with BelVG!\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/author\\\/andrey-litvin#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/10\\\/how-to-create-a-new-magento-2-theme.png\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html\\\/#mainImage\",\"width\":784,\"height\":417,\"caption\":\"how to create a new magento 2 theme\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/magento-2-creating-a-new-theme.html#mainImage\"},\"datePublished\":\"2020-05-27T13:59:41+02:00\",\"dateModified\":\"2026-05-04T20:24:03+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/belvg.com\\\/blog\\\/\",\"name\":\"BelVG Blog\",\"description\":\"Magento and Prestashop articles\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/belvg.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How to Create New Magento 2 Themes | BelVG Blog","description":"Let's take a look at Magento 2 themes and learn how to create them step by step. We describe every detail in our insightful guide. Improve your developer skills with BelVG!","canonical_url":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#article","name":"How to Create New Magento 2 Themes | BelVG Blog","headline":"How to Create New Magento 2 Themes","author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/how-to-create-a-new-magento-2-theme.png","width":784,"height":417,"caption":"how to create a new magento 2 theme"},"datePublished":"2020-05-27T13:59:41+02:00","dateModified":"2026-05-04T20:24:03+02:00","inLanguage":"en-US","commentCount":3,"mainEntityOfPage":{"@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#webpage"},"isPartOf":{"@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#webpage"},"articleSection":"Magento, Magento 2 Development, Magento Theme, Image"},{"@type":"BreadcrumbList","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/belvg.com\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","position":2,"name":"Magento","item":"https:\/\/belvg.com\/blog\/category\/magento","nextItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#listItem","name":"How to Create New Magento 2 Themes"},"previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#listItem","position":3,"name":"How to Create New Magento 2 Themes","previousItem":{"@type":"ListItem","@id":"https:\/\/belvg.com\/blog\/category\/magento#listItem","name":"Magento"}}]},{"@type":"Organization","@id":"https:\/\/belvg.com\/blog\/#organization","name":"BelVG Blog","description":"Magento and Prestashop articles","url":"https:\/\/belvg.com\/blog\/"},{"@type":"Person","@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author","url":"https:\/\/belvg.com\/blog\/author\/andrey-litvin","name":"Andrey Litvin","image":{"@type":"ImageObject","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/e1a6e3c80cb940fddb65016d94b015cd951b4a8a9cd7227565131f28ea95c7a0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andrey Litvin"}},{"@type":"WebPage","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#webpage","url":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html","name":"How to Create New Magento 2 Themes | BelVG Blog","description":"Let's take a look at Magento 2 themes and learn how to create them step by step. We describe every detail in our insightful guide. Improve your developer skills with BelVG!","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/belvg.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#breadcrumblist"},"author":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"creator":{"@id":"https:\/\/belvg.com\/blog\/author\/andrey-litvin#author"},"image":{"@type":"ImageObject","url":"https:\/\/belvg.com\/blog\/wp-content\/uploads\/2016\/10\/how-to-create-a-new-magento-2-theme.png","@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html\/#mainImage","width":784,"height":417,"caption":"how to create a new magento 2 theme"},"primaryImageOfPage":{"@id":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html#mainImage"},"datePublished":"2020-05-27T13:59:41+02:00","dateModified":"2026-05-04T20:24:03+02:00"},{"@type":"WebSite","@id":"https:\/\/belvg.com\/blog\/#website","url":"https:\/\/belvg.com\/blog\/","name":"BelVG Blog","description":"Magento and Prestashop articles","inLanguage":"en-US","publisher":{"@id":"https:\/\/belvg.com\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"11777","title":"How to Create New Magento 2 Themes | #site_title","description":"Let's take a look at Magento 2 themes and learn how to create them step by step. We describe every detail in our insightful guide. Improve your developer skills with BelVG!","keywords":null,"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-11-03 18:37:26","updated":"2026-11-03 18:37:26"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/belvg.com\/blog\/category\/magento\" title=\"Magento\">Magento<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to Create New Magento 2 Themes\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/belvg.com\/blog\/"},{"label":"Magento","link":"https:\/\/belvg.com\/blog\/category\/magento"},{"label":"How to Create New Magento 2 Themes","link":"https:\/\/belvg.com\/blog\/magento-2-creating-a-new-theme.html"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/11777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/users\/82"}],"replies":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/comments?post=11777"}],"version-history":[{"count":9,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/11777\/revisions"}],"predecessor-version":[{"id":30500,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/posts\/11777\/revisions\/30500"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media\/26264"}],"wp:attachment":[{"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/media?parent=11777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/categories?post=11777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/belvg.com\/blog\/wp-json\/wp\/v2\/tags?post=11777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}