CINXE.COM
Magento Tutorials for Beginners & Professionals - Plumrocket Inc
<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="profile" href="https://gmpg.org/xfn/11" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v16.4 - https://yoast.com/wordpress/plugins/seo/ --> <title>Magento Tutorials for Beginners & Professionals - Plumrocket Inc</title> <link rel="canonical" href="https://plumrocket.com/learn" /> <link rel="next" href="https://plumrocket.com/learn/page/2" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Magento Tutorials for Beginners & Professionals - Plumrocket Inc" /> <meta property="og:url" content="https://plumrocket.com/learn" /> <meta property="og:site_name" content="Magento Tutorials for Beginners & Professionals" /> <meta name="twitter:card" content="summary_large_image" /> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//plumrocket.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel="alternate" type="application/rss+xml" title="Magento Tutorials for Beginners & Professionals » Feed" href="https://plumrocket.com/learn/feed" /> <link rel="alternate" type="application/rss+xml" title="Magento Tutorials for Beginners & Professionals » Comments Feed" href="https://plumrocket.com/learn/comments/feed" /> <!-- This site uses the Google Analytics by MonsterInsights plugin v8.17 - Using Analytics tracking - https://www.monsterinsights.com/ --> <script src="//www.googletagmanager.com/gtag/js?id=G-KMF6R9SSNT" data-cfasync="false" data-wpfc-render="false" async></script> <script data-cfasync="false" data-wpfc-render="false"> var mi_version = '8.17'; var mi_track_user = true; var mi_no_track_reason = ''; var disableStrs = [ 'ga-disable-G-KMF6R9SSNT', ]; /* Function to detect opted out users */ function __gtagTrackerIsOptedOut() { for (var index = 0; index < disableStrs.length; index++) { if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) { return true; } } return false; } /* Disable tracking if the opt-out cookie exists. */ if (__gtagTrackerIsOptedOut()) { for (var index = 0; index < disableStrs.length; index++) { window[disableStrs[index]] = true; } } /* Opt-out function */ function __gtagTrackerOptout() { for (var index = 0; index < disableStrs.length; index++) { document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/'; window[disableStrs[index]] = true; } } if ('undefined' === typeof gaOptout) { function gaOptout() { __gtagTrackerOptout(); } } window.dataLayer = window.dataLayer || []; window.MonsterInsightsDualTracker = { helpers: {}, trackers: {}, }; if (mi_track_user) { function __gtagDataLayer() { dataLayer.push(arguments); } function __gtagTracker(type, name, parameters) { if (!parameters) { parameters = {}; } if (parameters.send_to) { __gtagDataLayer.apply(null, arguments); return; } if (type === 'event') { parameters.send_to = monsterinsights_frontend.v4_id; var hookName = name; if (typeof parameters['event_category'] !== 'undefined') { hookName = parameters['event_category'] + ':' + name; } if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') { MonsterInsightsDualTracker.trackers[hookName](parameters); } else { __gtagDataLayer('event', name, parameters); } } else { __gtagDataLayer.apply(null, arguments); } } __gtagTracker('js', new Date()); __gtagTracker('set', { 'developer_id.dZGIzZG': true, }); __gtagTracker('config', 'G-KMF6R9SSNT', {"forceSSL":"true","link_attribution":"true"} ); window.gtag = __gtagTracker; (function () { /* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */ /* ga and __gaTracker compatibility shim. */ var noopfn = function () { return null; }; var newtracker = function () { return new Tracker(); }; var Tracker = function () { return null; }; var p = Tracker.prototype; p.get = noopfn; p.set = noopfn; p.send = function () { var args = Array.prototype.slice.call(arguments); args.unshift('send'); __gaTracker.apply(null, args); }; var __gaTracker = function () { var len = arguments.length; if (len === 0) { return; } var f = arguments[len - 1]; if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') { if ('send' === arguments[0]) { var hitConverted, hitObject = false, action; if ('event' === arguments[1]) { if ('undefined' !== typeof arguments[3]) { hitObject = { 'eventAction': arguments[3], 'eventCategory': arguments[2], 'eventLabel': arguments[4], 'value': arguments[5] ? arguments[5] : 1, } } } if ('pageview' === arguments[1]) { if ('undefined' !== typeof arguments[2]) { hitObject = { 'eventAction': 'page_view', 'page_path': arguments[2], } } } if (typeof arguments[2] === 'object') { hitObject = arguments[2]; } if (typeof arguments[5] === 'object') { Object.assign(hitObject, arguments[5]); } if ('undefined' !== typeof arguments[1].hitType) { hitObject = arguments[1]; if ('pageview' === hitObject.hitType) { hitObject.eventAction = 'page_view'; } } if (hitObject) { action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction; hitConverted = mapArgs(hitObject); __gtagTracker('event', action, hitConverted); } } return; } function mapArgs(args) { var arg, hit = {}; var gaMap = { 'eventCategory': 'event_category', 'eventAction': 'event_action', 'eventLabel': 'event_label', 'eventValue': 'event_value', 'nonInteraction': 'non_interaction', 'timingCategory': 'event_category', 'timingVar': 'name', 'timingValue': 'value', 'timingLabel': 'event_label', 'page': 'page_path', 'location': 'page_location', 'title': 'page_title', }; for (arg in args) { if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) { hit[gaMap[arg]] = args[arg]; } else { hit[arg] = args[arg]; } } return hit; } try { f.hitCallback(); } catch (ex) { } }; __gaTracker.create = newtracker; __gaTracker.getByName = newtracker; __gaTracker.getAll = function () { return []; }; __gaTracker.remove = noopfn; __gaTracker.loaded = true; window['__gaTracker'] = __gaTracker; })(); } else { console.log(""); (function () { function __gtagTracker() { return null; } window['__gtagTracker'] = __gtagTracker; window['gtag'] = __gtagTracker; })(); } </script> <!-- / Google Analytics by MonsterInsights --> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/plumrocket.com\/learn\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.7.2"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([55357,56424,8205,55356,57212],[55357,56424,8203,55356,57212])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://plumrocket.com/learn/wp-includes/css/dist/block-library/style.min.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='wp-block-library-theme-css' href='https://plumrocket.com/learn/wp-includes/css/dist/block-library/theme.min.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='prismatic-blocks-css' href='https://plumrocket.com/learn/wp-content/plugins/prismatic/css/styles-blocks.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='parent-theme-css-css' href='https://plumrocket.com/learn/wp-content/themes/twentynineteen/style.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='learn_css-css' href='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/css/learn.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='twentynineteen-style-css' href='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/style.css?ver=5.7.2' media='all' /> <link rel='stylesheet' id='twentynineteen-print-style-css' href='https://plumrocket.com/learn/wp-content/themes/twentynineteen/print.css?ver=5.7.2' media='print' /> <link rel='stylesheet' id='wpdreams-asl-basic-css' href='https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/style.basic.css?ver=4.9.3' media='all' /> <link rel='stylesheet' id='wpdreams-ajaxsearchlite-css' href='https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/style-curvy-blue.css?ver=4.9.3' media='all' /> <link rel='stylesheet' id='addtoany-css' href='https://plumrocket.com/learn/wp-content/plugins/add-to-any/addtoany.min.css?ver=1.15' media='all' /> <style id='addtoany-inline-css'> @media screen and (max-width:1300px){ .a2a_floating_style.a2a_vertical_style{display:none;} } </style> <link rel='stylesheet' id='ecae-frontend-css' href='https://plumrocket.com/learn/wp-content/plugins/easy-custom-auto-excerpt/assets/style-frontend.css?ver=2.4.12' media='all' /> <link rel='stylesheet' id='ecae-buttonskin-none-css' href='https://plumrocket.com/learn/wp-content/plugins/easy-custom-auto-excerpt/buttons/ecae-buttonskin-none.css?ver=2.4.12' media='all' /> <script src='https://plumrocket.com/learn/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=8.17' id='monsterinsights-frontend-script-js'></script> <script data-cfasync="false" data-wpfc-render="false" id='monsterinsights-frontend-script-js-extra'>var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]","home_url":"https:\/\/plumrocket.com\/learn","hash_tracking":"false","v4_id":"G-KMF6R9SSNT"};</script> <script src='https://plumrocket.com/learn/wp-includes/js/jquery/jquery.min.js?ver=3.5.1' id='jquery-core-js'></script> <script src='https://plumrocket.com/learn/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script> <script src='https://plumrocket.com/learn/wp-content/plugins/add-to-any/addtoany.min.js?ver=1.1' id='addtoany-js'></script> <link rel="https://api.w.org/" href="https://plumrocket.com/learn/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://plumrocket.com/learn/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://plumrocket.com/learn/wp-includes/wlwmanifest.xml" /> <script data-cfasync="false"> window.a2a_config=window.a2a_config||{};a2a_config.callbacks=[];a2a_config.overlays=[];a2a_config.templates={}; a2a_config.callbacks.push({ready: function(){var d=document;function a(){var c,e=d.createElement("div");e.innerHTML="<div class=\"a2a_kit a2a_kit_size_32 a2a_floating_style a2a_vertical_style\" style=\"margin-left:24px;top:150px;background-color:transparent;\"><a class=\"a2a_button_facebook\"><\/a><a class=\"a2a_button_twitter\"><\/a><a class=\"a2a_button_linkedin\"><\/a><a class=\"a2a_button_email\"><\/a><a class=\"a2a_dd addtoany_share_save addtoany_share\" href=\"https:\/\/www.addtoany.com\/share\"><\/a><\/div>";c=d.querySelector(".single-post .site-main");if(c)c.appendChild(e.firstChild);a2a.init("page");}if("loading"!==d.readyState)a();else d.addEventListener("DOMContentLoaded",a,false);}}); a2a_config.icon_color="#a0a0a0,#ffffff"; (function(d,s,a,b){a=d.createElement(s);b=d.getElementsByTagName(s)[0];a.async=1;a.src="https://static.addtoany.com/menu/page.js";b.parentNode.insertBefore(a,b);})(document,"script"); </script> <link rel="preload" as="image" href="/learn/wp-content/themes/twentynineteen-plumrocket/images/search-bg.jpg"><link rel="icon" type="image/x-icon" href="/learn/favicon.ico" /> <link href='//fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> <!-- Schema & Structured Data For WP v1.9.83 - --> <script type="application/ld+json" class="saswp-schema-markup-output"> [{"@context":"https:\/\/schema.org","@type":"WebSite","@id":"https:\/\/plumrocket.com\/learn#website","headline":"Magento Tutorials for Beginners & Professionals","name":"Magento Tutorials for Beginners & Professionals","description":"Plumrocket Inc","url":"https:\/\/plumrocket.com\/learn","potentialAction":{"@type":"SearchAction","target":"https:\/\/plumrocket.com\/learn\/?s={search_term_string}","query-input":"required name=search_term_string"}}, {"@context":"https:\/\/schema.org","@type":"Corporation","@id":"https:\/\/plumrocket.com\/learn#Organization","name":"Plumrocket Inc.","url":"http:\/\/wp.plumserver.com\/learn","sameAs":[],"contactPoint":{"@type":"ContactPoint","contactType":"customer support","telephone":"+12123925416","url":"https:\/\/plumrocket.com\/contacts"}}] </script> <style type="text/css"> @font-face { font-family: 'aslsicons2'; src: url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.eot'); src: url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.eot?#iefix') format('embedded-opentype'), url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.woff2') format('woff2'), url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.woff') format('woff'), url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.ttf') format('truetype'), url('https://plumrocket.com/learn/wp-content/plugins/ajax-search-lite/css/fonts/icons2.svg#icons') format('svg'); font-weight: normal; font-style: normal; } div[id*='ajaxsearchlitesettings'].searchsettings .asl_option_inner label { font-size: 0px !important; color: rgba(0, 0, 0, 0); } div[id*='ajaxsearchlitesettings'].searchsettings .asl_option_inner label:after { font-size: 11px !important; position: absolute; top: 0; left: 0; z-index: 1; } div[id*='ajaxsearchlite'].wpdreams_asl_container { width: 100%; margin: 0px 0px 0px 0px; } div[id*='ajaxsearchliteres'].wpdreams_asl_results div.resdrg span.highlighted { font-weight: bold; color: rgba(217, 49, 43, 1); background-color: rgba(238, 238, 238, 1); } div[id*='ajaxsearchliteres'].wpdreams_asl_results .results div.asl_image { width: 70px; height: 70px; background-size: cover; background-repeat: no-repeat; } div.asl_r .results { max-height: none; } div.asl_r.asl_w.vertical .results .item::after { display: block; position: absolute; bottom: 0; content: ''; height: 1px; width: 100%; background: #D8D8D8; } div.asl_r.asl_w.vertical .results .item.asl_last_item::after { display: none; } </style> <script type="text/javascript"> if ( typeof _ASL !== "undefined" && _ASL !== null && typeof _ASL.initialize !== "undefined" ) _ASL.initialize(); </script> </head> <body class="home blog wp-embed-responsive hfeed image-filters-enabled" data-spy="scroll" data-target="#toc"> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header"> <div class="site-header-container"> <div class="site-header-top"> <button class="tablet-nav-btn" type="button" aria-label="Меnu"> <span class="burger-icon"></span> </button> <a class="logo-link site-branding" href="/" title="Plumrocket Magento Extensions Store"> <picture> <source media="(min-width: 768px)" srcset="https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/images/logo.png, https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/images/logo@2x.png 2x"> <img class="logo-img" src="https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/images/logo_m.png" srcset="https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/images/logo_m@2x.png 2x" width="150" height="39" alt="Logo"> </picture> </a> <ul class="header-toplinks"> <li class="header-toplinks-support"> <a class="header-toplink" href="/contacts" rel="nofollow" title="Support"> <span class="sprite-icon"></span> <span class="label">Support</span></a > </li> <li class="header-toplinks-user"> <a class="header-toplink" href="/customer/account" rel="nofollow" title="My account"> <span class="sprite-icon"></span> <span class="label">My account</span> </a> </li> <li class="header-toplinks-cart" title="My cart"> <a class="header-toplink" href="/checkout/cart" rel="nofollow"> <span class="sprite-icon"></span> <span class="label">My cart</span> </a> </li> </ul> </div> <nav class="main-nav"> <ul class="nav-list"> <li class="nav-item"> <a class="nav-item-link" href="/magento-extensions" title="Magento 2 Extensions"> Magento 2 Extensions </a> </li> <li class="nav-item"> <a class="nav-item-link" href="/magento-1-extensions" title="Magento 1 Extensions"> Magento 1 Extensions </a> </li> <li class="nav-item"> <a class="nav-item-link" href="/magento-services" title="Magento Services"> Magento Services </a> </li> <li class="nav-item"> <a class="nav-item-link" href="/magento-packages" title="Packages"> Packages </a> </li> <li class="nav-item"> <a class="nav-item-link link-special" href="/special-offers" rel="nofollow" title="Special Offers"> <span class="sprite-icon"></span> Special Offers </a> </li> <li class="nav-item"> <a class="nav-item-link" href="/blog" title="Blog"> Blog </a> </li> <li class="nav-item"> <a class="nav-item-link" href="/contacts" title="Contact Us"> Contact Us </a> </li> </ul> </nav> </div> </header><!-- #masthead --> <div id="content" class="site-content"> <div class="widget widget_search"> <h1 class="title">Tutorials</h1> <div class="search-description">Explore our Magento and web server tutorials.</div> <form role="search" method="get" class="search-form" action="https://plumrocket.com/learn/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search Tutorials" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Search" /> </form></div> <p id="breadcrumbs"> <a href="/">Home</a> <span><span class="breadcrumb_last" aria-current="page">Learn</span></span></p> <div id="primary" class="content-area"> <main id="main" class="site-main"> <div class="content-wrapper"> <article id="post-2338" class="post-2338 post type-post status-publish format-standard hentry category-uncategorized entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/uncategorized" class="category-link">uncategorized</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/add-products-to-collection-shopify" rel="bookmark">How to Add Products to a Collection on Shopify</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""> <p>Shopify Collections are a simple and convenient way to organize products that share common characteristics. For example, you might create a “Pet Supplies” collection to group together all<span class="ecae-button ecae-buttonskin-none" style="text-align:left" > <a class="ecae-link" href="https://plumrocket.com/learn/add-products-to-collection-shopify"><span>read more</span></a></span></p> </div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/add-products-to-collection-shopify" rel="bookmark"><time class="entry-date published" datetime="2025-04-04T12:38:05+03:00">April 4, 2025</time><time class="updated" datetime="2025-04-04T12:38:07+03:00">April 4, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/vladyslav-harkavenko">Vladyslav Harkavenko</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2338 --> <article id="post-2302" class="post-2302 post type-post status-publish format-standard hentry category-magento-backend-dev-guide category-magento-catalog entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-backend-dev-guide" class="category-link">Magento Backend Development</a>, <a href="https://plumrocket.com/learn/magento-catalog" class="category-link">Magento Catalog</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-shopify-product-migration" rel="bookmark">How to Migrate Products From Magento 2 to Shopify: All-In-One Guide</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>Transferring product data deserves careful consideration during Magento to Shopify product migration. Some online stores have thousands of items in their catalog, and migration for such stores requires a responsible and meticulous approach to ensure no data is lost during the transition. Often, products in a Magento store can have different custom attributes, thus the quality of the migration depends on the correct mapping of these attributes to Shopify meta fields.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-shopify-product-migration" rel="bookmark"><time class="entry-date published" datetime="2025-01-22T10:21:53+02:00">January 22, 2025</time><time class="updated" datetime="2025-02-07T17:49:58+02:00">February 7, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/vladyslav-harkavenko">Vladyslav Harkavenko</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2302 --> <article id="post-2264" class="post-2264 post type-post status-publish format-standard hentry category-magento-backend-dev-guide entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-backend-dev-guide" class="category-link">Magento Backend Development</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-add-google-recaptcha" rel="bookmark">How to Add Google reCAPTCHA to Custom Form in Magento 2</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>Google reCAPTCHA helps protect websites from spam, bot attacks, and other automated form submissions. </p> <p>Adding reCAPTCHA to your Magento 2 custom forms adds an essential layer of security, ensuring only genuine user interactions are processed by your site.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-add-google-recaptcha" rel="bookmark"><time class="entry-date published" datetime="2025-01-10T13:47:51+02:00">January 10, 2025</time><time class="updated" datetime="2025-01-10T15:54:28+02:00">January 10, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/volodymyr-holovatskiy">Volodymyr Holovatskiy</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2264 --> <article id="post-2244" class="post-2244 post type-post status-publish format-standard hentry category-magento-frontend-dev-guide entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-frontend-dev-guide" class="category-link">Magento Frontend Development</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-checkout-success-page" rel="bookmark">How to Customize Magento 2 Checkout Success Page</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>The checkout success page, also known as the thank you page, appears on the website when the item is paid. This page is designed to express gratitude for completed orders and display key details about the purchase. Although, by default, the Magento 2 checkout success page is quite generic and simple, you may enhance it and create an engaging page that encourages repeat sales. So, to create such a page, you need to customize the checkout success page in Magento 2.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-checkout-success-page" rel="bookmark"><time class="entry-date published" datetime="2025-01-02T16:45:04+02:00">January 2, 2025</time><time class="updated" datetime="2025-01-10T15:56:17+02:00">January 10, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/dmytro-melnychuk">Dmytro Melnychuk</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2244 --> <article id="post-2228" class="post-2228 post type-post status-publish format-standard hentry category-magento-catalog entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-catalog" class="category-link">Magento Catalog</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-graphql" rel="bookmark">Guide on Using Magento 2 GraphQL + Query Example</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>Ofen ecommerce websites deal with a wide range of data, which is essential for delivering products or services. To manage data efficiently and provide the best service, online stores need optimal solutions. Thus, ecommerce websites often use GraphQL to streamline their data fetching processes and ensure seamless user experience.</p> <p>In this tutorial, we’ll explore the fundamentals of GraphQL and compare it with REST. Also, look at the Magento 2 GraphQL query examples for the Size Chart Extension to gain insights into how GraphQL can be applied to various ecommerce scenarios.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-graphql" rel="bookmark"><time class="entry-date published" datetime="2024-12-26T11:43:32+02:00">December 26, 2024</time><time class="updated" datetime="2025-04-02T13:09:58+03:00">April 2, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/ruslan-yesenovsky">Ruslan Yesenovsky</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2228 --> <article id="post-2208" class="post-2208 post type-post status-publish format-standard hentry category-uncategorized entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/uncategorized" class="category-link">uncategorized</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/customize-shopify-thank-you-page" rel="bookmark">How to Customize the Shopify Thank You Page</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>The user journey on your store doesn’t end after payment. The thank you page offers an opportunity for further customer engagement, which may result in customer loyalty and repeated purchases. This page is critical in creating a smooth user experience and ensuring more sales.</p> <p>The order success page appears after completing the purchase online when the payment has been made. Usually, you can see there a message of gratitude for a purchase, therefore, this page is also known as a thank you page. Beyond that, it summarizes all order details, such as order number, shipping address, and other relevant information. So, the thank you page isn’t just a page with a positive message, it is an essential part of the ecommerce website, which boosts transparency and trust in your store.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/customize-shopify-thank-you-page" rel="bookmark"><time class="entry-date published" datetime="2024-12-18T10:47:41+02:00">December 18, 2024</time><time class="updated" datetime="2024-12-18T10:47:43+02:00">December 18, 2024</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/yaroslav-panchyshyn">Yaroslav Panchyshyn</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2208 --> <article id="post-2188" class="post-2188 post type-post status-publish format-standard hentry category-magento-backend-dev-guide entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-backend-dev-guide" class="category-link">Magento Backend Development</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/cypress-form-testing" rel="bookmark">Cypress Form Testing: A Step-by-Step Guide to Filling and Submitting Forms</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>Often, Magento stores use various forms on the website to collect customer information or data. This data may be used for marketing purposes, to get feedback from customers, and more. For instance, these are login pages, checkout forms, survey forms, etc., where users have to provide access details or enter some (sensitive) information to complete their purchases. That’s why securing seamless and proper application workflow is essential.</p> <p>Testing of forms is rather a necessity. To make it more effective and simplified, you can automate the process with Cypress. In this article, we’ll provide a practical example of testing the Call for Price form in Magento 2 using Cypress, demonstrating key commands.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/cypress-form-testing" rel="bookmark"><time class="entry-date published" datetime="2024-12-10T15:19:06+02:00">December 10, 2024</time><time class="updated" datetime="2024-12-10T15:51:30+02:00">December 10, 2024</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/andrii-lytvyniv">Andrii Lytvyniv</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2188 --> <article id="post-2167" class="post-2167 post type-post status-publish format-standard hentry category-magento-config category-magento-frontend-dev-guide entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-config" class="category-link">Magento Configuration</a>, <a href="https://plumrocket.com/learn/magento-frontend-dev-guide" class="category-link">Magento Frontend Development</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-reload-mini-cart" rel="bookmark">How to Update/Reload Magento 2 Mini Cart Programmatically</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>When developing a custom solution, whether it is a theme or a module, developers need to implement logic that adds a new product or modifies the quantity of the product in the cart. It may seem a straightforward task, but developers often face an issue where changes in the mini cart aren't reflected.</p> <p>This article will explore the most frequent reason why the updated mini cart data may not be visible on the frontend and provide step-by-step instructions on how to reload Magento 2 Mini Cart programmatically.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-reload-mini-cart" rel="bookmark"><time class="entry-date published" datetime="2024-11-15T18:28:51+02:00">November 15, 2024</time><time class="updated" datetime="2025-04-03T15:09:50+03:00">April 3, 2025</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/vladyslav-harkavenko">Vladyslav Harkavenko</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2167 --> <article id="post-2113" class="post-2113 post type-post status-publish format-standard hentry category-magento-catalog category-magento-config category-magento-frontend-dev-guide entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-catalog" class="category-link">Magento Catalog</a>, <a href="https://plumrocket.com/learn/magento-config" class="category-link">Magento Configuration</a>, <a href="https://plumrocket.com/learn/magento-frontend-dev-guide" class="category-link">Magento Frontend Development</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-customize-product-page" rel="bookmark">How to Customize Product Page Layout in Magento 2</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""><p>Often, websites need tailored design solutions to create a user-friendly website that makes sales. However, pre-built modules or themes can’t always fulfill all the website’s needs and create a seamless user experience. In such cases, the best decision is customization.</p> <p>One of the most frequent requests is to customize the Magento 2 product page. This can be done in two ways: by creating a custom module or a custom theme. While both methods are useful and effective, this tutorial will focus on the second method. Using a custom theme is often the best option if the primary goal is to alter the arrangement, style, and general look of your product pages.</p></div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-customize-product-page" rel="bookmark"><time class="entry-date published" datetime="2024-11-05T15:57:39+02:00">November 5, 2024</time><time class="updated" datetime="2024-11-05T17:11:44+02:00">November 5, 2024</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/yaroslav-panchyshyn">Yaroslav Panchyshyn</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2113 --> <article id="post-2091" class="post-2091 post type-post status-publish format-standard hentry category-magento-config entry"> <header class="entry-header"> <a href="https://plumrocket.com/learn/magento-config" class="category-link">Magento Configuration</a><h2 class="entry-title"><a href="https://plumrocket.com/learn/magento-2-rss-feed" rel="bookmark">Magento 2 RSS Feed: How to Enable & Manage</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <!-- Begin :: Generated by Easy Custom Auto Excerpt --><div class="ecae" style=""> <p>RSS feeds are must-have tools that help users receive updated information about the site’s content without the need to open it and search for information. Users just subscribe to updates and receive<span class="ecae-button ecae-buttonskin-none" style="text-align:left" > <a class="ecae-link" href="https://plumrocket.com/learn/magento-2-rss-feed"><span>read more</span></a></span></p> </div><!-- End :: Generated by Easy Custom Auto Excerpt --> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><path id="a" d="M0 0h24v24H0V0z"></path></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"></use></clipPath><path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></svg><a href="https://plumrocket.com/learn/magento-2-rss-feed" rel="bookmark"><time class="entry-date published updated" datetime="2024-10-30T15:57:33+02:00">October 30, 2024</time></a></span><span class="byline"><svg class="svg-icon" width="16" height="16" aria-hidden="true" role="img" focusable="false" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg><span class="screen-reader-text">Posted by</span><span class="author vcard"><a class="url fn n" href="https://plumrocket.com/learn/author/volodymyr-holovatskiy">Volodymyr Holovatskiy</a></span></span> </footer><!-- .entry-footer --> </article><!-- #post-2091 --> <nav class="navigation pagination" role="navigation" aria-label="Posts"> <h2 data-toc-skip class="screen-reader-text">Posts navigation</h2> <div class="nav-links"><span aria-current="page" class="page-numbers current">1</span> <a class="page-numbers" href="https://plumrocket.com/learn/page/2">2</a> <a class="page-numbers" href="https://plumrocket.com/learn/page/3">3</a> <span class="page-numbers dots">…</span> <a class="page-numbers" href="https://plumrocket.com/learn/page/6">6</a> <a class="next page-numbers" href="https://plumrocket.com/learn/page/2"><span class="nav-next-text">Older posts</span> <svg class="svg-icon" width="22" height="22" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></a></div> </nav> </div> </main><!-- .site-main --> </div><!-- .content-area --> </div><!-- #content --> <footer id="footer" class="footer__wrp"> <div class="container"> <div class="footer__content"> <div class="footer__content-item"> <div class="footer__content-title">Company</div> <ul> <li><a title="Plumrocket Homepage" href="https://plumrocket.com" rel="nofollow">Home</a></li> <li><a title="About Plumrocket" href="/about" rel="nofollow">About Plumrocket Inc.</a></li> <li><a title="Customer Stories" href="/customer-stories" rel="nofollow">Customer Stories</a></li> <li><a title="Programs & Promotions" href="/programs-and-promotions" rel="nofollow">Programs & Promotions</a></li> <li><a title="Careers" href="/careers" rel="nofollow">Careers</a></li> <li><a title="Contact Us" href="/contacts" rel="nofollow">Contact Us</a></li> </ul> </div> <div class="footer__content-item"> <div class="footer__content-title">Legal</div> <ul> <li><a title="Terms of Service" href="/terms-of-service" rel="nofollow">Terms of Service</a></li> <li><a title="Privacy Policy" href="/privacy-policy" rel="nofollow">Privacy Policy</a></li> <li><a title="Refund Policy" href="/refund-policy" rel="nofollow">Refund Policy</a></li> <li><a title="Cookie Policy" href="/cookie-policy" rel="nofollow">Cookie Policy</a></li> <li><a title="Privacy Center" href="/privacy-center/account" rel="nofollow">Privacy Center</a></li> <li><a title="Updates & Support Policy" href="/updates-and-support-policy" rel="nofollow">Updates & Support Policy</a></li> </ul> </div> <div class="footer__content-item"> <div class="footer__content-title">Resources</div> <ul> <li><a title="Plumrocket Blog" href="/blog">Blog</a></li> <li><a title="FAQ" href="/faq">FAQ</a></li> <li><a title="Documentation" href="/docs">Documentation</a></li> <li><a title="Tutorials" href="/learn">Tutorials</a></li> </ul> </div> <div class="footer__content-item"> <div class="footer__content-title">Partners</div> <ul> <li><a title="Partner Program" href="/partner-program" rel="nofollow">Partner Program</a></li> <li><a title="Affiliate Program" href="/affiliate-program" rel="nofollow">Affiliate Program</a></li> <li><a title="Official Partners" href="/partner-program/official-partners" rel="nofollow">Official Partners</a></li> </ul> </div> </div> </div> <div class="footer__bottom"> <div class="container"> <div class="footer__bottom-wrp"> <span class="plr-footer">Plumrocket Inc. © 2008 - 2025</span> <div class="footer__bottom-social"> <span>Follow Us:</span> <ul class="footer__bottom-social-links"> <li><a title="Plumrocket on Facebook" href="https://www.facebook.com/plumrocket" rel="noreferrer nofollow" target="_blank"><span class="sprite__icon sprite__icon--fcbk">Facebook</span></a></li> <li><a title="Plumrocket on Twitter" href="https://twitter.com/plumrocket" rel="noreferrer nofollow" target="_blank"><span class="sprite__icon sprite__icon--twtr">Twitter</span></a></li> <li><a title="Plumrocket on LinkedIn" href="https://www.linkedin.com/company/plumrocket-inc" rel="noreferrer nofollow" target="_blank"><span class="sprite__icon sprite__icon--lnkdn">LinkedIn</span></a></li> <li><a title="Plumrocket YouTube Channel" href="https://www.youtube.com/plumrocket" rel="noreferrer nofollow" target="_blank"><span class="sprite__icon sprite__icon--ytb">YouTube</span></a></li> </ul> </div> </div> </div> </div> </footer> </div><!-- #page --> <script id='disqus_count-js-extra'> var countVars = {"disqusShortname":"plumrocket-tutorials"}; </script> <script src='https://plumrocket.com/learn/wp-content/plugins/disqus-comment-system/public/js/comment_count.js?ver=3.0.22' id='disqus_count-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/js/toggle-nav.js?ver=5.7.2' id='nav_scripts-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/lib/bootstrap/bootstrap.min.js?ver=5.7.2' id='bootNavigatorCustom-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/lib/bootstrapToc/bootstrap-toc.js?ver=5.7.2' id='toc-js-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/js/last-child-detect.js?ver=5.7.2' id='lastChildDetect-js-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen-plumrocket/lib/prismjs/plugins/prism-normalize-whitespace.min.js?ver=5.7.2' id='prismNormalizeSpace-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen/js/priority-menu.js?ver=20181214' id='twentynineteen-priority-menu-js'></script> <script src='https://plumrocket.com/learn/wp-content/themes/twentynineteen/js/touch-keyboard-navigation.js?ver=20181231' id='twentynineteen-touch-navigation-js'></script> <script id='helpful-js-extra'> var helpful = {"ajax_url":"https:\/\/plumrocket.com\/learn\/wp-admin\/admin-ajax.php","ajax_data":{"user_id":"1d27b8027463637a2fe1f612b82627d3","_wpnonce":"d44e53ec34"},"translations":{"fieldIsRequired":"This field is required."},"ajax_session":{"helpful_user":"1d27b8027463637a2fe1f612b82627d3"}}; </script> <script src='https://plumrocket.com/learn/wp-content/plugins/helpful/core/assets/js/helpful.js?ver=4.4.33' id='helpful-js'></script> <script src='https://plumrocket.com/learn/wp-includes/js/wp-embed.min.js?ver=5.7.2' id='wp-embed-js'></script> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Served from: learn.plumrocket.com @ 2025-04-05 14:03:54 by W3 Total Cache -->