{"id":375453,"date":"2026-09-28T07:17:19","date_gmt":"2026-09-28T07:17:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mm-side-cart\/"},"modified":"2026-09-28T07:14:29","modified_gmt":"2026-09-28T07:14:29","slug":"mm-side-cart","status":"publish","type":"plugin","link":"https:\/\/cl.wordpress.org\/plugins\/mm-side-cart\/","author":23350667,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1","stable_tag":"0.1","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"MM Side Cart","header_author":"MM Web","header_description":"A lightweight side cart for WooCommerce. A floating button on every page opens a fast drawer for changing quantities, removing products and reaching checkout.","assets_banners_color":"","last_updated":"2026-09-28 07:14:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/mmweb.net","header_author_uri":"https:\/\/mmweb.net","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1":{"tag":"0.1","author":"mehrazmorshed","date":"2026-09-28 07:14:29","revision":3716463}},"upgrade_notice":{"0.1":"<p>First release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The round cart button with its count badge and subtotal tag.","2":"The cart drawer open, showing product images, variation details and quantity controls.","3":"The General settings tab.","4":"The Styling settings tab with the colour pickers.","5":"The empty cart state."}},"plugin_section":[],"plugin_tags":[177319,75687,127626,173309,286],"plugin_category":[45],"plugin_contributors":[276447,276448],"plugin_business_model":[],"class_list":["post-375453","plugin","type-plugin","status-publish","hentry","plugin_tags-cart-drawer","plugin_tags-floating-cart","plugin_tags-mini-cart","plugin_tags-side-cart","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mehrabmorshed","plugin_contributors-mmwebnet","plugin_committers-mehrabmorshed","plugin_committers-mehrazmorshed","plugin_committers-mmwebnet"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/mm-side-cart.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>MM Side Cart puts a round cart button on every page of your shop. Customers tap it to slide open a drawer holding everything in their cart, where they can change quantities, remove a product and go straight to checkout without loading the cart page first.<\/p>\n\n<p>The button is always a circle. The item count sits in a small badge on its rim, and the subtotal appears in a tag beside it on the side facing the page, so turning either on never changes the button's shape. When a product is added, the badge gives a short pop to confirm it.<\/p>\n\n<p>The plugin is built to stay out of your theme's way. Its styles are namespaced and self-contained, so the drawer looks the same on classic and block themes, and every colour, size and spacing value is a setting.<\/p>\n\n<p><strong>WooCommerce stays in charge<\/strong><\/p>\n\n<p>The plugin never calculates a price, a total or a stock limit of its own. Prices, subtotals, quantity minimums, quantity steps and stock limits all come from WooCommerce, so a quantity typed into the drawer is checked against the same rules the cart page uses. Changes made in the drawer are real cart changes, visible everywhere on your site immediately.<\/p>\n\n<p><strong>Built for real sites<\/strong><\/p>\n\n<ul>\n<li>No JavaScript framework, no icon font, no external requests. The stylesheet and script are loaded only on pages where the cart is shown.<\/li>\n<li>Nothing is polled. The cart stays in sync through WooCommerce's own cart fragments and events.<\/li>\n<li>Works with page caching. If a cached page carries an expired security token, the drawer sends the customer to the real cart page instead of silently failing.<\/li>\n<li>Full keyboard support: the drawer is a proper dialog with focus trapping, an Escape shortcut and screen-reader announcements when the cart changes.<\/li>\n<li>Right-to-left ready. Positions and spacing are written with logical CSS, so a right-hand button becomes a left-hand button automatically.<\/li>\n<li>Respects the \"reduce motion\" setting in the visitor's operating system.<\/li>\n<li>Compatible with High-Performance Order Storage and with the Cart and Checkout blocks.<\/li>\n<\/ul>\n\n<p><strong>Settings<\/strong><\/p>\n\n<p>Fifty-four settings across four tabs:<\/p>\n\n<ul>\n<li><strong>General<\/strong> - turn the cart on or off, choose which pages and which visitors see it, hide it on the cart and checkout pages, hide it while the cart is empty, open the drawer automatically after a product is added, and pick one of four cart icons.<\/li>\n<li><strong>Cart Button<\/strong> - item count badge, subtotal tag, position, size, icon size, distance from the edges and shadow.<\/li>\n<li><strong>Cart Drawer<\/strong> - which side it opens from, width, page dimming, close behaviour, product images, variation details, quantity controls, remove buttons, subtotal, and the wording of the two action buttons.<\/li>\n<li><strong>Styling<\/strong> - fifteen colours, page dimming strength, corner radius, base text size, spacing scale and typeface.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mm-side-cart<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin from the Plugins screen in WordPress.<\/li>\n<li>Activate <strong>MM Side Cart<\/strong> through the Plugins screen.<\/li>\n<li>Go to <strong>MM Side Cart<\/strong> in the admin menu.<\/li>\n<\/ol>\n\n<p>The defaults are usable straight away, so you can activate the plugin and leave every setting alone. WooCommerce 8.0 or newer must be active; if it is not, the plugin stays completely inactive and tells you why on the Plugins screen.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20edit%20my%20theme%3F\"><h3>Do I need to edit my theme?<\/h3><\/dt>\n<dd><p>No. The plugin adds itself to the footer of every page it is enabled on and positions itself over your content.<\/p><\/dd>\n<dt id=\"can%20the%20button%20change%20shape%3F\"><h3>Can the button change shape?<\/h3><\/dt>\n<dd><p>No, and that is deliberate. The button is always a circle in one of three sizes. The count and the subtotal are placed around the circle rather than inside it, so they never stretch it.<\/p><\/dd>\n<dt id=\"will%20it%20clash%20with%20my%20theme%27s%20styling%3F\"><h3>Will it clash with my theme's styling?<\/h3><\/dt>\n<dd><p>Every rule in the plugin's stylesheet is scoped to its own class names, and all of its colours and sizes come from CSS custom properties rather than from your theme. Four declarations use <code>!important<\/code>, each defending against a specific and common theme behaviour, and each is commented in the stylesheet.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20a%20caching%20plugin%3F\"><h3>Does it work with a caching plugin?<\/h3><\/dt>\n<dd><p>Yes. No visitor-specific data is printed into the cached page beyond the cart markup itself, which WooCommerce keeps up to date through its cart fragments. If a cached page is old enough that its security token has expired, the drawer opens the cart page rather than failing quietly.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20cart%20and%20checkout%20blocks%3F\"><h3>Does it work with the Cart and Checkout blocks?<\/h3><\/dt>\n<dd><p>Yes, and it hides itself on those pages by default. When your site uses the block-based cart, the plugin also watches WooCommerce's Blocks data store so changes made there are picked up.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20markup%3F\"><h3>Can I change the markup?<\/h3><\/dt>\n<dd><p>Yes. Copy any file from the plugin's <code>templates<\/code> folder into <code>yourtheme\/mm-side-cart\/<\/code> and edit it there. There are also seventeen filters and eight actions; see the plugin's README.md for the full list.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20settings%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my settings if I delete the plugin?<\/h3><\/dt>\n<dd><p>They are removed. Deleting the plugin deletes the two option rows it created and nothing else. No cart, order or customer data is touched.<\/p><\/dd>\n<dt id=\"why%20does%20the%20drawer%20need%20jquery%3F\"><h3>Why does the drawer need jQuery?<\/h3><\/dt>\n<dd><p>Only to listen. Every WooCommerce cart event is a jQuery custom event, and a native browser listener never receives those. The plugin uses jQuery for that one job and plain JavaScript for everything else. jQuery is already loaded on every WooCommerce shop front end.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"A lightweight side cart for WooCommerce. A floating button opens a fast drawer to change quantities, remove products and reach checkout.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/375453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=375453"}],"author":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mehrabmorshed"}],"wp:attachment":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=375453"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=375453"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=375453"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=375453"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=375453"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=375453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}