{"id":1967,"date":"2021-05-20T19:35:16","date_gmt":"2021-05-20T16:35:16","guid":{"rendered":"https:\/\/creativethemes.com\/blocksy\/?post_type=documentation&#038;p=1967"},"modified":"2025-06-04T19:00:48","modified_gmt":"2025-06-04T16:00:48","slug":"off-canvas-filter","status":"publish","type":"documentation","link":"https:\/\/creativethemes.com\/blocksy\/docs\/woocommerce\/off-canvas-filter\/","title":{"rendered":"Filters Canvas"},"content":{"rendered":"\n<figure class=\"wp-block-video\"><video height=\"2056\" style=\"aspect-ratio: 3456 \/ 2056;\" width=\"3456\" autoplay loop muted src=\"https:\/\/creativethemes.com\/blocksy\/wp-content\/uploads\/2021\/05\/Screen-Recording-2025-06-04-at-17.24.22.mov\" playsinline><\/video><figcaption class=\"wp-element-caption\">Activating the <strong>Filters<\/strong> and <strong>Filters Canvas<\/strong> area.<\/figcaption><\/figure>\n\n\n\n<p>The&nbsp;<strong>Filters Canvas<\/strong>&nbsp;module gives you a flexible way to display your product filters in a dedicated space, separate from the main product listing. Instead of placing filters in a sidebar, this module lets you show them in an off-canvas panel that slides in from the side &#8211; much like the mobile menu &#8211; or in a horizontal layout above the products grid.<\/p>\n\n\n\n<p>This approach helps you keep the product archive clean and distraction-free, while still offering your visitors powerful filtering tools whenever they need them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"activating-the-module\">Activating the Module<\/h2>\n\n\n\n<p>To activate the&nbsp;<strong>Filters Canvas<\/strong>&nbsp;module:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open your&nbsp;<strong>WordPress dashboard<\/strong>.<\/li>\n\n\n\n<li>Click on&nbsp;<strong>Blocksy<\/strong>&nbsp;in the sidebar.<\/li>\n\n\n\n<li>Navigate to the&nbsp;<strong>Extensions<\/strong>&nbsp;tab.<\/li>\n\n\n\n<li>Locate the&nbsp;<strong>Shop Extra<\/strong>&nbsp;extension and click to expand it.<\/li>\n\n\n\n<li>Find&nbsp;<strong>Filters<\/strong>&nbsp;in the list and toggle it&nbsp;<strong>on<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p>Once the module is active, a new&nbsp;<strong>Filters Canvas<\/strong>&nbsp;panel will appear under&nbsp;<strong>Customizer \u2192 Product Archives<\/strong>. Additionally, a new widget area called&nbsp;<strong>WooCommerce Filters Canvas<\/strong>&nbsp;will show up under&nbsp;<strong>Appearance \u2192 Widgets<\/strong>, which you can populate with your desired filtering widgets.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"2056\" style=\"aspect-ratio: 3456 \/ 2056;\" width=\"3456\" autoplay loop muted src=\"https:\/\/creativethemes.com\/blocksy\/wp-content\/uploads\/2021\/05\/Screen-Recording-2025-06-04-at-17.39.20.mov\" playsinline><\/video><figcaption class=\"wp-element-caption\"><strong>Filters Canvas<\/strong> area in action.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"granular-controls\">Granular Controls<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Controls for Design 1<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d10ffab4dec&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d10ffab4dec\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"1290\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/creativethemes.com\/blocksy\/wp-content\/uploads\/2021\/05\/Screenshot-2025-06-04-at-17.37.18.png\" alt=\"\" class=\"wp-image-13350\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Filters Canvas options for Design 1.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">Canvas Design<\/h3>\n\n\n\n<p>This setting lets you enable&nbsp;<strong>Design 1<\/strong>, which displays the filters inside an off-canvas panel. It behaves similarly to a mobile menu and slides in from the side of the screen when triggered.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Icon and Visibility Controls<\/h3>\n\n\n\n<p>Here, you can select the icon used for the toggle button that opens the Filters Canvas. You also get full control over where this button appears \u2014 desktop, tablet, or mobile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Panel and Alignment Options<\/h3>\n\n\n\n<p>Choose the&nbsp;<strong>side<\/strong>&nbsp;from which the canvas slides in (left or right), and define the&nbsp;<strong>width<\/strong>&nbsp;of the panel. You can also set how the widgets inside the panel are aligned \u2014 top, center, or bottom.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AJAX Options<\/h3>\n\n\n\n<p>You can enable AJAX loading (with the <strong>Panel AJAX Reveal<\/strong> option) for the widgets inside the canvas. This can improve performance by loading them only when the panel is opened.<\/p>\n\n\n\n<p>The\u00a0<strong>Auto Close Panel<\/strong>\u00a0option automatically hides the Filters Canvas after a filter has been selected, helping streamline the browsing experience. This setting becomes available only when\u00a0<strong>AJAX Filtering<\/strong>\u00a0is enabled from the\u00a0<strong>Customizer \u2192 Product Archives<\/strong>\u00a0panel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Widget Area Source<\/h3>\n\n\n\n<p>Select which widget area should be displayed inside the canvas. This is useful when filters are shared between the main WooCommerce sidebar and the Filters Canvas, especially on mobile devices.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Controls for Design 2<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d10ffab5e60&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d10ffab5e60\" class=\"wp-block-image size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"1172\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/creativethemes.com\/blocksy\/wp-content\/uploads\/2021\/05\/Screenshot-2025-06-04-at-17.43.25.png\" alt=\"\" class=\"wp-image-13351\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Filters Canvas options for Design 2.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\">Canvas Design<\/h3>\n\n\n\n<p>This option enables&nbsp;<strong>Design 2<\/strong>, which places the filters inside a horizontal panel above the product listing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Icon and Visibility Controls<\/h3>\n\n\n\n<p>Here, you can select the icon used for the toggle button that opens the Filters Canvas. You also get full control over where this button appears \u2014 desktop, tablet, or mobile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Panel Options<\/h3>\n\n\n\n<p>Set the&nbsp;<strong>height<\/strong>&nbsp;of the canvas and the&nbsp;<strong>number of widget columns<\/strong>&nbsp;to display. Each widget occupies one column.<\/p>\n\n\n\n<p>You also have the option to keep the filters panel&nbsp;<strong>always visible<\/strong>&nbsp;on page load, eliminating the need for visitors to manually open it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AJAX Options<\/h3>\n\n\n\n<p>You can enable AJAX loading for the widgets inside the canvas. This can improve performance by loading them only when the panel is opened.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Widget Area Source<\/h3>\n\n\n\n<p>Select which widget area should be displayed inside the canvas. This is useful when filters are shared between the main WooCommerce sidebar and the Filters Canvas, especially on mobile devices.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Video Resources<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Advanced Product Filters | WooCommerce Tutorial | Blocksy 2\" width=\"1290\" height=\"968\" src=\"https:\/\/www.youtube.com\/embed\/3yFgRgGm-2o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The&nbsp;Filters Canvas&nbsp;module gives you a flexible way to display your product filters in a dedicated space, separate from the main product listing. Instead of placing filters in a sidebar, this module lets you show them in an off-canvas panel that slides in from the side &#8211; much like the mobile menu &#8211; or in a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"doc_categories":[117],"class_list":["post-1967","documentation","type-documentation","status-publish","hentry","doc_categories-woocommerce"],"blocksy_meta":{"post_title_panel":"","has_hero_section":"default","790b926a968c51b5b11a6b6a4358358b":"","hero_section":"type-1","hero_elements":[{"id":"custom_title","enabled":true,"heading_tag":"h1","title":"Home"},{"id":"custom_description","enabled":true,"description_visibility":{"desktop":true,"tablet":true,"mobile":false}},{"id":"custom_meta","enabled":true,"meta_elements":[{"id":"author","enabled":true,"label":"By","has_author_avatar":"yes","avatar_size":25},{"id":"post_date","enabled":true,"label":"On","date_format_source":"default","date_format":"M j, Y"},{"id":"categories","enabled":true,"label":"In","style":"simple"},{"id":"comments","enabled":true}],"page_meta_elements":{"joined":true,"articles_count":true,"comments":true}},{"id":"breadcrumbs","enabled":false}],"2850a90eda6457f000ee1fc5954b20ea":"","hero_alignment1":"left","hero_margin":{"desktop":50,"tablet":30,"mobile":30},"hero_alignment2":"center","hero_vertical_alignment":"center","316f30c1822a0506eaa67e74d8fdea8a":"","hero_structure":"narrow","38580d575d46afb501589a166154d14b":"","page_title_bg_type":"featured_image","custom_hero_background":{"attachment_id":null},"parallax":{"desktop":false,"tablet":false,"mobile":false},"33d1ede33af5b09e1c43fcbf9b33899f":"","hero_height":"250px","pageTitleFont":{"family":"Default","variation":"Default","size":{"desktop":"32px","tablet":"30px","mobile":"25px"},"line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"CT_CSS_SKIP_RULE","text-decoration":"CT_CSS_SKIP_RULE"},"pageTitleFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageMetaFont":{"family":"Default","variation":"n6","size":"12px","line-height":"1.3","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"uppercase","text-decoration":"CT_CSS_SKIP_RULE"},"pageMetaFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageExcerptFont":{"family":"Default","variation":"Default","size":"CT_CSS_SKIP_RULE","line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"CT_CSS_SKIP_RULE","text-decoration":"CT_CSS_SKIP_RULE"},"pageExcerptColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"breadcrumbsFont":{"family":"Default","variation":"n6","size":"12px","line-height":"CT_CSS_SKIP_RULE","letter-spacing":"CT_CSS_SKIP_RULE","text-transform":"uppercase","text-decoration":"CT_CSS_SKIP_RULE"},"breadcrumbsFontColor":{"default":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"initial":{"color":"CT_CSS_SKIP_RULEDEFAULT"},"hover":{"color":"CT_CSS_SKIP_RULEDEFAULT"}},"pageTitleOverlay":{"default":{"color":"CT_CSS_SKIP_RULE"}},"pageTitleBackground":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"no-repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"#EDEFF2"}}},"pageTitlePadding":{"top":"50px","bottom":"50px","left":"auto","right":"auto","linked":true},"58f72cc48e8298fd05405fec9967ff1e":"","page_structure_type":"default","content_style":"inherit","vertical_spacing_source":"inherit","content_area_spacing":"both","background":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"no-repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"CT_CSS_SKIP_RULE"}}},"content_background":{"background_type":"color","background_pattern":"type-1","background_image":{"attachment_id":null,"x":0,"y":0},"gradient":"linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)","background_repeat":"no-repeat","background_size":"auto","background_attachment":"scroll","patternColor":{"default":{"color":"#e5e7ea"}},"overlayColor":{"default":{"color":"CT_CSS_SKIP_RULE"}},"backgroundColor":{"default":{"color":"#ffffff"}}},"content_boxed_shadow":{"inherit":false,"blur":18,"spread":-6,"v_offset":12,"h_offset":0,"inset":false,"enable":true,"color":{"color":"rgba(34, 56, 101, 0.04)"}},"boxed_content_spacing":{"desktop":{"top":"40px","bottom":"40px","left":"40px","right":"40px","linked":true},"tablet":{"top":"35px","bottom":"35px","left":"35px","right":"35px","linked":true},"mobile":{"top":"20px","bottom":"20px","left":"20px","right":"20px","linked":true}},"content_boxed_radius":{"top":"3px","bottom":"3px","left":"3px","right":"3px","linked":true},"56a44448175f9dd9a6adb3379d5c41cd":"","disable_featured_image":"no","disable_share_box":"no","disable_author_box":"no","disable_posts_navigation":"no","0861a39cebc0b97f8db98b5739e16b2d":"","disable_related_posts":"no","disable_header":"no","disable_footer":"no","8eaf0f13f787cbdb26655874e4c2fc72":"","header_footer_scripts_panel":"","header_scripts":"","ac711a277f6b7293083ece6900875fa8":"","header_after_body_scripts":"","ffcaadbd91b0b60134c7a2786741dad1":"","footer_scripts":"","docs_item_badge":"PRO","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"acf":[],"_links":{"self":[{"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/documentation\/1967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/types\/documentation"}],"author":[{"embeddable":true,"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/comments?post=1967"}],"version-history":[{"count":24,"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/documentation\/1967\/revisions"}],"predecessor-version":[{"id":13361,"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/documentation\/1967\/revisions\/13361"}],"wp:attachment":[{"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/media?parent=1967"}],"wp:term":[{"taxonomy":"doc_categories","embeddable":true,"href":"https:\/\/creativethemes.com\/blocksy\/wp-json\/wp\/v2\/doc_categories?post=1967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}