{"id":5452,"date":"2026-04-21T00:00:52","date_gmt":"2026-04-20T16:00:52","guid":{"rendered":"https:\/\/www.6ebook.com\/?p=5452"},"modified":"2026-04-22T01:11:02","modified_gmt":"2026-04-21T17:11:02","slug":"kadence-theme-building-tutorial","status":"publish","type":"post","link":"https:\/\/www.6ebook.com\/en\/kadence-theme-building-tutorial\/","title":{"rendered":"Kadence Theme Building Tutorial: Complete Solution from Gutenberg to Product Templates, Custom Article Type Pages and Mega Menu"},"content":{"rendered":"<p class=\" translation-block\">If you've been using Elementor to build WordPress websites for a long time, and you switch to <strong>Kadence Theme + Gutenberg<\/strong> for the first time, you'll probably have a very strong feeling of discrepancy: the pages are fine, but when you come across \u201cstructured content\u201d such as article archives, WooCommerce product details, product category pages, Mega Menu, breadcrumb navigation, and mobile filtering, you'll realize that Kadence is not the same as Elementor at all. Category pages, brand pages, Mega Menu, breadcrumb navigation, mobile filtering and other \"structured content\", you will find that Kadence's thinking is not the same as Elementor's. The current boundaries of Kadence's official capabilities are also very clear: the theme structure relies more on <strong>Hooked Elements<\/strong>, and WooCommerce's deeper templates rely on <strong>Kadence Shop Kit's Product Templates (Woo Templates)<\/strong>, rather than the same set of visualizations as Elementor. template logic as Elementor does, rather than wrapping all pages in the same set of visualizations.<\/p>\n\n\n\n<p>This article is not a general introduction to Kadence, but a complete review based on a recent real trade showroom project we did. The client's requirements were very clear:<strong>The whole site try to use WordPress native Gutenberg editor, do not use Elementor, the requirements of lighter, more stable, more conducive to SEO, and post maintenance costs should be low.<\/strong> It is also because of this project that we went through the key issues of Kadence theme order page, article system, product templates, brand page, Mega Menu, breadcrumbs, Off Canvas Sidebar for mobile and so on. The final conclusion was straightforward:<strong>Kadence is perfectly capable of making complex websites, but only if you accept that it's a native WordPress logic of \u201ctheme global structure + block content + dynamic templates\u201d and not a stand-in for Elementor.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Kadence was chosen for this project instead of continuing to use Elementor<\/h2>\n\n\n\n<p class=\" translation-block\">The project ended up with Kadence, not because Kadence is fancier than Elementor, but because the client wanted something that wasn't \u201cfancier\u201d but <strong>lighter, more structured, and more maintainable over time<\/strong>. Theme itself is responsible for the global structure and theme layer capabilities, Kadence Blocks are used to enhance the Gutenberg layout, Hooked Elements are used to take over the one-page, archive, and content insertion positions, and WooCommerce product page, archive, and product card templates are taken care of by WooCommerce Templates, which are part of the Kadence Shop Kit. Templates of Kadence Shop Kit. In other words, Kadence's system division of labor is more clear than Elementor, which is suitable for foreign trade sites, enterprise sites, product display sites and other sites that emphasize more on structure and maintainability.<\/p>\n\n\n\n<p class=\" translation-block\">From the perspective of project execution, this choice has been proved to be right later on. It's true that the page editing experience is not as \u201cWYSIWYG\u201d as Elementor, but the structure of the site will be cleaner: single pages will be handled in Pages, articles will be archived in Archive, product templates will be in Woo Templates, and custom content types will be in CPT + Dynamic Content. In other words, <strong>Kadence<\/strong> is better suited to building a site as a \u201ccontent system\u201d than as a bunch of drag-and-drop visual pages. <\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kadence build the most important thinking switch: pages, templates, dynamic content to be handled hierarchically<\/h2>\n\n\n\n<p>After moving from Elementor to Kadence, the first thing we had to do was not to learn a certain functionality, but to change our way of thinking. In Elementor, we used to do things in the same way: homepage, article templates, product pages, archive pages, almost all of them can be taken over by Theme Builder. But in Kadence, this way of thinking will hit a wall very quickly. Because Kadence's best practices are actually layered:<strong>Regular pages go to regular pages, articles go to the article system, WooCommerce goes to WooCommerce, and custom content types go to CPT.<\/strong><\/p>\n\n\n\n<p class=\" translation-block\">To take the simplest example: home page, about us, contact us, services page, FAQ, these pages are still essentially \u201cstandalone content\u201d, and the most standard approach is to build the pages directly in <strong>Pages<\/strong>, and then build the content with Gutenberg \/ Kadence Blocks. Kadence Blocks. They don't need to be forced into a templating system for the sake of \u201ctemplating\u201d, because a templating system is better suited to managing a \u201cuniform structure of similar content\u201d rather than the individual content of each separate page. Kadence's official documentation on Hooked Elements and Template Elements essentially emphasizes that templates are better suited for reusable structures and that content should remain in the content itself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What to do with regular pages: Single pages under Kadence should still be in Pages.<\/h2>\n\n\n\n<p class=\" translation-block\">The home page, about us, contact us, and several service pages in this project were all ultimately done directly in <strong>Pages<\/strong> using the Gutenberg editor. Why is this the most stable way to do it? Because these pages are more like \u201ccontent containers\u201d and don't rely on archival queries, single-article loops, or dynamic fields for products. What you really need to control: content widths, header hierarchies, image blocks, button styles, graphic layout, responsive layouts - Kadence Blocks is designed to solve these problems.<\/p>\n\n\n\n<p class=\" translation-block\">In the process of implementation, the way we actually use is: first unify the whole station's color, font size, button style, Section spacing and content width, and then build Hero, Selling Points Area, Product Recommendation Area, FAQ, CTA and other modules in the page. The biggest benefit of doing this is that <strong>common pages are always simple, and when customers want to change copy, change images, or add blocks, they don't need to understand complex template inheritance relationships. <\/strong> This is one of the most important principles that we've learned since switching from Elementor to Kadence: don't think about templates when you can solve a problem directly on the content page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to build an article system: the correct relationship between News pages, category pages and Post Archive.<\/h2>\n\n\n\n<p class=\" translation-block\">The post system is another key part of this project. A lot of users who are doing blogging for the first time under Kadence get confused: is the <strong>News<\/strong> portal a regular page, an article page, or a category page? <\/strong> What we ended up doing was to create a normal page called <strong>News<\/strong>, and then go to <strong>Settings \u2192 Reading<\/strong> and designate it as a <strong>Posts Page<\/strong>. itself recognizes posts pages through the <code>page_for_posts<\/code> option, which is the most standard way to get blog entries.<\/p>\n\n\n\n<p class=\" translation-block\">In this way, \u201cNews\u201d becomes the entry point for blog listings, while \u201cIndustry News\u201d and \u201cCompany News\u201d continue to exist as <strong>categorized archive pages<\/strong>. <\/strong>. In other words, these three types of pages essentially belong to the <strong>article archive system<\/strong>. Kadence's article archive templates and Archive Content substitution logic are naturally suited to handle this kind of structure: a main blog page, plus multiple category pages, share the same archive system, just in the title, description, breadcrumb, and query results.<\/p>\n\n\n\n<p class=\" translation-block\">Here's an important detail to remember: <strong>Posts Page is not the same as a normal page. <\/strong> Once News is set up as a posts page, it's more like a \u201cblog container page\u201d, where the main content displayed on the frontend is the list of posts, not the body of the text you're filling out in that page editor. A lot of WordPress developer documentation and community experience has also emphasized over and over again that a Posts Page is more like a container than a normal standalone content page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why the breadcrumbs on the article category page often don't automatically bring up the \u201cNews\u201d layer?<\/h2>\n\n\n\n<p class=\" translation-block\">There is a typical phenomenon in this project: Brand single page breadcrumbs can be displayed as <strong>Home \/ Brands \/ brand01<\/strong> when <code>has_archive<\/code> is turned on, but the article category page is often displayed as <strong>Home \/ Industry News<\/strong> instead. <\/strong>, but the article category page tends to only show up as <strong>Home \/ News \/ Industry News<\/strong>, instead of automatically becoming <strong>Home \/ News \/ Industry News<\/strong>. It's not that Kadence is wrong, it's that <strong>WordPress's hierarchical perception of the CPT archive and Posts Page is not a set of logic<\/strong>. The CPT's <code>has_archive<\/code> is part of the native structure, while the Posts Page is just the blog's CPT's <code>has_archive<\/code> is part of the native structure, and Posts Page is just a blog entry, it's not a natural parent for all category archives.<\/p>\n\n\n\n<p class=\" translation-block\">So, if you see the breadcrumb missing the \u201cNews\u201d layer in the article category page, it's normal, and Kadence officially supports switching the breadcrumb engine to other engines such as Yoast, Rank Math, SEOPress, etc. This is also because different engines don't handle the blog layer in the same way. Kadence officially supports switching breadcrumb engine to other engines such as Yoast, Rank Math, SEOPress, etc. This is also because different engines don't have the same way to deal with blog layers. For blogs, if you are very concerned about <strong>Home \/ News \/ Category Name<\/strong>, it is usually more stable to switch to a SEO breadcrumb engine that is more suitable for customizing the hierarchy, or manually fill in the links in the archive template than to continue to rely on the built-in breadcrumbs of Kadence.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WooCommerce Product Detail Pages: Don't Hardwire Plain Elements Anymore!<\/h2>\n\n\n\n<p class=\" translation-block\">This was one of the most critical cognitive shifts of the entire project. At first we tried building templates in Kadence Elements and then taking over WooCommerce single product pages with <strong>Replace Single Post Content<\/strong>, which looked a lot like the Elementor days of \u201capplying a template\u201d, but it quickly became clear that this was the wrong way to go. This seemed to be similar to the Elementor-era \"apply a template\" approach, but it quickly became clear that this was not the right way to go. Here's why: <strong>WooCommerce single product pages are not just article content pages, they have their own complete product template structure. <\/strong> Kadence officials have now made this very clear - WooCommerce related templates should go <strong>Kadence Shop Kit's Product Templates (Woo Templates)&lt; <\/strong> instead of replacing the product page content area with a regular Template Element.<\/p>\n\n\n\n<p>In the end, we adopted the right program:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Product details page \u2192 <strong>Single Product Woo Template<\/strong><\/li>\n\n\n\n<li>Product Category Page \u2192 <strong>Product Archive Woo Template<\/strong><\/li>\n\n\n\n<li>Product Card \u2192 <strong>Product Catalog Loop Item Template<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Each of these three layers is responsible for its own thing: Single Product Template is responsible for the structure of the product detail page, such as gallery, title, price, description, parameters, CTA; Product Archive Template is responsible for the overall layout of the product category page and query; Loop Item Template is responsible for the appearance and content of a single product card. Kadence's official definition of Product Templates is just like this: use Woo Template Blocks to dynamically output various elements of WooCommerce, instead of treating Woo pages as ordinary article templates.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border wp-duotone-unset-1\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1335\" height=\"784\" src=\"https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates.png\" alt=\"Kadence - Woo Templates\" class=\"wp-image-5457\" style=\"border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;box-shadow:var(--wp--preset--shadow--sharp)\" srcset=\"https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates.png 1335w, https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates-300x176.png 300w, https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates-1024x601.png 1024w, https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates-768x451.png 768w, https:\/\/www.6ebook.com\/wp-content\/uploads\/2026\/04\/Kadence-Woo-Templates-18x12.png 18w\" sizes=\"(max-width: 1335px) 100vw, 1335px\" data-no-auto-translation=\"\" \/><figcaption class=\"wp-element-caption\">Kadence - Woo Templates<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Product category page why easy to get stuck: structure, navigation, screening and style can not be mixed to do<\/h2>\n\n\n\n<p>The product category page is the easiest place for people to \u201clook almost done, but the details are always wrong\u201d. This is where almost all of the high frequency problems we encountered in this project were centered:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\" translation-block\">The breadcrumb is needed at the top, but the <code>Product Breadcrumbs<\/code> block can only be used for single product templates<\/li>\n\n\n\n<li>The left side of the product category navigation desktop can be, to the tablet and cell phone all expand, the experience is very poor!<\/li>\n\n\n\n<li>Product card templates can be built, but there are many details such as the number of summary lines, hover shading, borders, button positions, etc. that are not readily available.<\/li>\n\n\n\n<li>The off-canvas filter button above the product list can be turned on, but there are no panel switches for button centering, desktop hiding, and other behaviors<\/li>\n<\/ul>\n\n\n\n<p class=\" translation-block\">The root of these problems is really the same: just because <strong>Kadence Product Archive is responsible for structure and querying doesn't mean that all the visual details will be made into visualization options. <\/strong> The official position of Product Archive Woo Templates is clear: you can use <code>Archive: Main Query Block<\/code> for a standard archive layout, or <code>Advanced Query Loop Block<\/code> for a more flexible control. more flexible control. When it comes to the details of the card and mobile interactions, there's still a lot of CSS to fill in the gaps.<\/p>\n\n\n\n<p class=\" translation-block\">That's what we ended up with as a very practical Kadence principle:<br><strong>Solve the structure of 80% with templates and blocks, and the details of the final 20% with CSS. <\/strong><br>For example, two-line summary omission, hover shading, button centering, and hiding mobile filter buttons on the desktop are all better suited for CSS closure than finding switches in panels, and Kadence Blocks officially supports block-level customization of CSS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The best solution for mobile product category pages is not to stuff a left sidebar, but Off Canvas Sidebar.<\/h2>\n\n\n\n<p class=\" translation-block\">On desktop, it's common to put a category navigation bar on the left side of the product category page; however, on tablets and cell phones, it's a very poor experience to have the entire category navigation bar directly on the page. The reference site's \u201cshow one button, click it to bring up all the categories from the right\u201d approach is actually closer to the standard experience of modern WooCommerce sites, and Kadence officially provides a <strong>Catalog Off Canvas Sidebar<\/strong> capability in the WooCommerce Addons, which is essentially for this scenario.<\/p>\n\n\n\n<p>But here's an easy pitfall: many people go to the backend by the documentation and can't find the <code>Off Canvas Sidebar<\/code>In the end, I thought it was a function that was not available. We encountered this problem in this project, and finally realized that the key is not in \u201cwill not use\u201d, but in the<strong>Is the corresponding WooCommerce Addons capability enabled?<\/strong>This is a typical problem in the Kadence system. This is a typical problem in the Kadence system: the functionality is not absent, but the module is not turned on.<\/p>\n\n\n\n<p>Ultimately the most stable mobile category page solution is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Desktop side retains the left side category bar<\/li>\n\n\n\n<li>Tablet \/ Mobile hide the left category bar<\/li>\n\n\n\n<li>Keep only one filter \/ sort button at the top<\/li>\n\n\n\n<li>Click on it to slide the off-canvas panel to the right.<\/li>\n<\/ul>\n\n\n\n<p>This solution is both user-friendly and more in line with Kadence's current WooCommerce capability boundaries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading translation-block\">Brand is not part of the product classification system: it is more appropriate to use <strong><mark class=\"has-inline-color has-vivid-cyan-blue-color\">custom post types<\/mark><\/strong> page to do this!<\/h2>\n\n\n\n<p class=\" translation-block\">There's another type of content that's very typical of this project: the <strong>Brand custom article type page<\/strong>. The client's reference site has a set of brand portals, with multiple brand logo cards at the top, which are clicked on to enter the corresponding content detail pages, with introductions, application scenarios, related content, and other structures underneath. At the beginning, some people would instinctively think: can we just make Brand into a WooCommerce product category? But this project quickly proved that this approach is not appropriate. Because Brand here is not the same as WooCommerce product categories, it is more like a separate content system.<\/p>\n\n\n\n<p>In the end, we adopted the program:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use ACF to create a <strong>Brand Custom Post Type (CPT)<\/strong><\/li>\n\n\n\n<li>One piece of content per Brand<\/li>\n\n\n\n<li>Creating Brand One-Page Templates with Kadence Template Elements<\/li>\n\n\n\n<li>Uniformly placed navigation area at the top<\/li>\n\n\n\n<li>The content area below goes through the same set of templates, replacing only the specific Brand content<\/li>\n<\/ul>\n\n\n\n<p>This is officially supported by Kadence: Hooked Elements for template takeover of custom post types, and Dynamic Content \/ Dynamic HTML for dynamic output of Post Title, Post Content, and ACF fields into templates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why do you insert <code>Content<\/code> block will report an error.<\/h2>\n\n\n\n<p>This is a very specific, yet typical pitfall we stepped into when building Brand's custom post type one-page template.<br>We've already set up the Brand CPT, and we've also set up the Template Element as a detail page template, and it turns out that when trying to use the core <code>Content<\/code> block to display the body, the backend reports an error directly:<\/p>\n\n\n\n<p><strong>Block \u2018content\u2019 can not be inserted<\/strong><\/p>\n\n\n\n<p class=\" translation-block\">At first it's easy to mistake this for a problem with ACF, CPT, or template settings, but the real reason to look into this is that <strong>don't rely on the core <code>Content \/ Post Content<\/code> placeholder block for outputting body text in the context of Kadence Template Elements. <\/strong> Kadence's current official recommendation is to use the <strong>Dynamic HTML block<\/strong> and set the dynamic source to <strong>Post Content<\/strong>. The official Kadence Dynamic Content docs also explicitly The official Kadence Dynamic Content documentation also makes it clear that it can dynamically output default content such as <strong>Post Title and Post Content<\/strong>, as well as calling custom fields such as ACF, Meta Box, and so on.<\/p>\n\n\n\n<p class=\" translation-block\">So in Kadence's CPT one-page templates, if you need to output body text, the safest thing to do is not to keep trying to insert the <code>Content<\/code> block, but:<\/p>\n\n\n\n<p><strong>Dynamic HTML \u2192 Source: Post Content<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why does Brand's breadcrumb work on the archive?<\/h2>\n\n\n\n<p>Brand The reason this set of content later showed up in breadcrumbs as:<\/p>\n\n\n\n<p><strong>Home \/ Brands \/ brand01<\/strong><\/p>\n\n\n\n<p class=\" translation-block\">The key reason for this is that we ended up turning on <code>has_archive<\/code> for the Brand CPT; WordPress natively supports custom post types via the <code>has_archive<\/code> parameter of <code>register_post_type()<\/code>; once Brand actually has an archive level, it's easier for Kadence to recognize the middle layer. Generate a CPT archive; once Brand actually has an archive level, it's easier for Kadence's breadcrumb to recognize the middle layer.<\/p>\n\n\n\n<p class=\" translation-block\">This phenomenon is useful for understanding the structure of WordPress:<br><strong>As long as it's part of the native structure, it's easier for the theme and the breadcrumb engine to recognize it automatically; if it's just \u201csome page you made by hand\u201d, the theme may not treat it as a system-level hierarchy. <\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mega Menu is not a normal menu and is done differently in Kadence.<\/h2>\n\n\n\n<p class=\" translation-block\">In this project, the top navigation also needs to realize a common style of Mega Menu: after the main menu is hovered, a whole full-width sub-menu area will appear underneath, with 4 columns in a row, which can be displayed in multiple rows. Many webmasters intuitively call this effect \u201cdrop-down menu\u201d, but from the actual realization point of view, it is no longer an ordinary secondary menu, but a <strong>Mega Menu<\/strong>. Kadence's official documentation on Advanced Navigation also explicitly refers to this mode as a Mega Menu, and supports full-width layout, multi-column layout, and insertion of custom block content.<\/p>\n\n\n\n<p>The most suitable implementation for this type of menu is not to continue hard nesting with the normal menu structure:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\" translation-block\">Use the <strong>Advanced Header \/ Advanced Navigation<\/strong> to create a new header.<\/li>\n\n\n\n<li class=\" translation-block\">Enables <strong>Mega Menu<\/strong> for parent menu items.<\/li>\n\n\n\n<li>Using Column Layout in Mega Menu Containers<\/li>\n\n\n\n<li>A set of headings + sub-links in each column, with images, descriptions or buttons if necessary<\/li>\n<\/ul>\n\n\n\n<p>The benefits of this approach are clear structure, more professional vision, and also more suitable for the organization of information in corporate and foreign trade sites. Especially if you have a lot of product lines, brand entrances, and solution entrances, Mega Menu is much more readable than ordinary menus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Kadence is often \u201cin the document, not found in the background\u201d?<\/h2>\n\n\n\n<p>If you're new to Kadence, it's easy to wonder one thing:<br>Why is it that a feature is clearly written in the official documentation, but I can't find it at all in the backend?<\/p>\n\n\n\n<p>We encountered this at least three times during this project:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hooked Elements not found<\/li>\n\n\n\n<li>Can't find Woo Templates<\/li>\n\n\n\n<li>Can't find Off Canvas Sidebar<\/li>\n<\/ul>\n\n\n\n<p class=\" translation-block\">In the end, we found that almost all of them are related to the same reason: <strong>The relevant module is not enabled, or needs the corresponding Pro \/ Addons capability. <\/strong> Kadence's official dependencies on these modules are very clear: Hooked Elements requires Theme Kit Pro to be enabled; Woo Templates requires Shop Kit's Product Templates to be enabled; and some of the WooCommerce-related enhancements are under WooCommerce Addons. Woo Templates needs to enable Product Templates of Shop Kit; some WooCommerce related enhancements are hooked under WooCommerce Addons.<\/p>\n\n\n\n<p>So a very important habit of troubleshooting when doing a Kadence project is:<br><strong>Make sure the corresponding module is enabled in the backend before discussing how the feature works.<\/strong><br>It saves a lot of ineffective trial and error.<\/p>\n\n\n\n<p class=\"has-black-color has-pale-cyan-blue-background-color has-text-color has-background has-link-color wp-elements-d79e8b6fc47b1fc40a216c3c57e3cf04 translation-block\" style=\"border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding-top:1.5em;padding-right:1.5em;padding-bottom:1.5em;padding-left:1.5em\">Many users think they don't know how to use Kadence, but in fact the more common problem is <strong>not having the corresponding Pro module enabled, or not having the functionality of Theme Pro, Blocks Pro, Shop Kit, and common extensions sorted out. <\/strong><br><br>Kadence officially splits the product line up by modules, for example, Theme Kit Pro for Hooked Elements, additional templates, and theme enhancements, Blocks Pro for dynamic content, conditional displays, and more specialized blocks, and Shop Kit for extensions. Shop Kit extends WooCommerce's product templates and store functionality. <br><br>For those who want to minimize the cost of trial and error and get their sites up and running faster, it's better to have all the modules you need, and WP Master Builder also offers Kadence Pro and popular extensions for building corporate websites, content sites, trade showrooms, and WooCommerce sites. <br><br>If you want to deploy a Kadence theme site quickly and with less fuss, you can also build a Kadence theme site directly in WP Site Builder <a href=\"https:\/\/www.6ebook.com\/download\/kadence-pro-with-all-addons-free-download\/\" target=\"_blank\" rel=\"noreferrer noopener\">for Kadence Pro and common extensions<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Our final summary of Kadence's best practices for building websites<\/h2>\n\n\n\n<p>After this project, we've made a very clear summary of the path of building websites under the Kadence theme. For enterprise official website, foreign trade showcase site, WooCommerce product showcase site, this structure is very stable at present:<\/p>\n\n\n\n<p class=\" translation-block\">Ordinary pages, such as the home page, about us, contact us, service page, all placed directly in Pages with Gutenberg build; article system through the <strong>News Page + Posts Page + Category Archive<\/strong> composed of a unified blog structure; article details page and article archive page with Hooked Elements \/ Archive system to manage. WooCommerce is completely layered: product detail pages are managed by <strong>Single Product Woo Template<\/strong>, product category pages are managed by <strong>Product Archive Woo Template<\/strong>, and product cards are managed by <strong>Cards<\/strong>. Cards are managed separately with the <strong>Catalog Loop Item Template<\/strong>. Brand pages are no longer tied to product categories, but instead use <strong>Brand CPT + ACF + Template Elements + Dynamic HTML \/ Dynamic Content<\/strong> to form an independent brand content system. Mega Menu, mobile filtering, breadcrumbs, etc. were accomplished based on Kadence's existing module capabilities and necessary CSS additions.<\/p>\n\n\n\n<p>The best thing about this structure is not that it's \u201cexceptionally functional,\u201d but that it is:<br><strong>Clear, stable and well maintained.<\/strong><br>Pages are pages, templates are templates, dynamic content is dynamic content, Woo is Woo, and branding is branding. You won't have to cram everything into a huge template system like you do in Elementor, and then be afraid to change one thing at a later stage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion: Kadence is not a replacement for Elementor, but a more native way to build a WordPress site.<\/h2>\n\n\n\n<p>If I could summarize this project in one sentence, I would say:<\/p>\n\n\n\n<p><strong>Kadence is not a replacement for Elementor, but rather a method of building websites that is closer to WordPress' native logic.<\/strong><\/p>\n\n\n\n<p>It does have a different learning curve than Elementor, and when you first get started you're more likely to get stuck in places like template structure, archiving logic, and dynamic content. But as long as you really straighten out this set of ideas, you will find that Kadence is very suitable for those websites with higher requirements on structure, performance and maintainability. Especially for foreign trade display site, enterprise official website, product display WooCommerce website, its advantages will become more and more obvious.<\/p>\n\n\n\n<p>If you are also moving from Elementor to <strong>Kadence + Gutenberg<\/strong>, or are researching how to build a WordPress site in a more lightweight way, hopefully this article will help you go the extra mile.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background translation-block\"><strong>Want to build a corporate website, foreign trade showcase or WooCommerce product showcase with Kadence themes? <\/strong><br>If you are also switching from Elementor to Gutenberg, or are having headaches with product templates, custom post type pages, Mega Menu, post archives, breadcrumb navigation, and mobile filtering, welcome to follow <strong>WP Website Builder<\/strong>. We will keep updating more WordPress website building solutions, structure design and troubleshooting experience based on real projects.<\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>This article is based on a real project, a systematic summary of the Kadence theme using Gutenberg to build a foreign trade showcase WordPress website complete solution, covering page construction, article archiving, WooCommerce product detail pages and category pages, custom post type pages, Mega Menu, breadcrumb navigation, mobile filtering and common problem solving ideas.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[98,96],"tags":[],"class_list":["post-5452","post","type-post","status-publish","format-standard","hentry","category-wordpress-themes","category-wordpress-tutorials"],"acpt":{"meta":[]},"_links":{"self":[{"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/posts\/5452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/comments?post=5452"}],"version-history":[{"count":2,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/posts\/5452\/revisions"}],"predecessor-version":[{"id":5468,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/posts\/5452\/revisions\/5468"}],"wp:attachment":[{"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/media?parent=5452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/categories?post=5452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.6ebook.com\/en\/wp-json\/wp\/v2\/tags?post=5452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}