{"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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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-995f960e 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;6ada0a4485401&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ada0a4485401\" 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--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" 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\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\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.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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-995f960e 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;6ada0a4486e67&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6ada0a4486e67\" 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--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" 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\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\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.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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"],"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":23,"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}]}}