{"id":273569,"date":"2026-02-07T17:34:32","date_gmt":"2026-02-07T17:34:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/oxygen-dynamic-filters\/"},"modified":"2026-02-07T17:33:59","modified_gmt":"2026-02-07T17:33:59","slug":"ss-dynamic-filter-for-oxygen","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ss-dynamic-filter-for-oxygen\/","author":17602124,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"SS Dynamic Filter for Oxygen","header_author":"Shemul","header_description":"A professional AJAX filtering suite for Oxygen Builder. Features: Search, Chips, Color Swatches, Price Range, and Native Oxygen Elements.","assets_banners_color":"2a5993","last_updated":"2026-02-07 17:33:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/shemuls.com","header_plugin_uri":"https:\/\/websolutioncare.com\/","header_author_uri":"https:\/\/shemuls.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":203,"num_ratings":1,"support_threads":2,"support_threads_resolved":2,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"shemuls","date":"2026-02-07 17:33:59"}},"upgrade_notice":{"1.0.1":"<p>Mandatory security update. Fixed escaping and sanitization issues per review team feedback.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3456026,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3456026,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3456026,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3456026,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3456026,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3456026,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3456026,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"<strong>Admin Settings:<\/strong> The clean interface for configuring filters and running the high-performance indexer.","2":"<strong>Oxygen Builder:<\/strong> Dragging and dropping the native filter element with full style controls.","3":"<strong>Frontend Example:<\/strong> A shop page featuring Color Swatches, Price Slider, and Active Chips."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5861,28913,2236,174173,37974],"plugin_category":[],"plugin_contributors":[255405],"plugin_business_model":[],"class_list":["post-273569","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax-filter","plugin_tags-faceted-search","plugin_tags-filter","plugin_tags-oxygen-builder","plugin_tags-woocommerce-filter","plugin_contributors-shemuls","plugin_committers-shemuls"],"banners":{"banner":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/banner-772x250.png?rev=3456026","banner_2x":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/banner-1544x500.png?rev=3456026","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/icon-128x128.png?rev=3456026","icon_2x":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/icon-256x256.png?rev=3456026","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/screenshot-1.png?rev=3456026","caption":"<strong>Admin Settings:<\/strong> The clean interface for configuring filters and running the high-performance indexer."},{"src":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/screenshot-2.png?rev=3456026","caption":"<strong>Oxygen Builder:<\/strong> Dragging and dropping the native filter element with full style controls."},{"src":"https:\/\/ps.w.org\/ss-dynamic-filter-for-oxygen\/assets\/screenshot-3.png?rev=3456026","caption":"<strong>Frontend Example:<\/strong> A shop page featuring Color Swatches, Price Slider, and Active Chips."}],"raw_content":"<!--section=description-->\n<p><strong>SS Dynamic Filter for Oxygen<\/strong> is a filtering solution for developers using Oxygen Builder. Unlike generic filter plugins that require shortcodes, this plugin provides <strong>native Oxygen Elements<\/strong> that you can drag, drop, and style directly inside the builder.<\/p>\n\n<p>Most importantly, it includes a <strong>Database Indexer<\/strong> and <strong>SEO-Friendly URL Rewrites<\/strong>.<\/p>\n\n<h3>\ud83d\ude80 Key Features<\/h3>\n\n<ul>\n<li><strong>\u26a1 Database Indexer:<\/strong> We index your product data into a custom database table. This ensures filtering remains fast.<\/li>\n<li><strong>\ud83d\udd17 SEO-Friendly URLs:<\/strong> Automatically transforms ugly query strings (<code>?color=red<\/code>) into clean, indexable permalinks (<code>\/filter\/color-red\/<\/code>).<\/li>\n<li><strong>\ud83c\udfa8 Native Oxygen Elements:<\/strong> Drag and drop filter elements directly in the Oxygen editor. Full control over typography, spacing, colors, and layout via Oxygen's style controls.<\/li>\n<li><strong>\ud83d\udd0d AJAX Search:<\/strong> Include a live search bar that updates grid results instantly.<\/li>\n<li><strong>\ud83c\udf9a\ufe0f Dual-Handle Price Slider:<\/strong> Professional price range slider using <code>noUiSlider<\/code>.<\/li>\n<li><strong>\ud83c\udff7\ufe0f Active Chips:<\/strong> Display active filters as removable chips\/tags.<\/li>\n<li><strong>\ud83c\udfa8 Color Swatches:<\/strong> Turn any attribute into visual color swatches.<\/li>\n<li><strong>\ud83d\udd04 Hybrid Filtering:<\/strong> Updates the browser URL for SEO while using robust AJAX fetching for compatibility.<\/li>\n<\/ul>\n\n<h3>\ud83e\udde9 Included Elements<\/h3>\n\n<ol>\n<li><strong>Dynamic Filter:<\/strong> The core element to display Checkboxes, Radio Buttons, Buttons, Color Swatches, Dropdowns, Price Ranges, or Search inputs.<\/li>\n<li><strong>Active Filters (Chips):<\/strong> Displays the currently selected filters with a \"Clear All\" option.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/ss-dynamic-filter-for-oxygen<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li><strong>IMPORTANT:<\/strong> Go to <strong>Filters &gt; Add New<\/strong> to create your first filter.<\/li>\n<li><strong>CRITICAL:<\/strong> After creating filters, click the <strong>\"Index All Products Now\"<\/strong> button in the filter settings metabox. This builds the database index required for filtering.<\/li>\n<li>Open any template in Oxygen Builder and add the <strong>\"Dynamic Filter\"<\/strong> element.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20are%20my%20filters%20showing%20%22no%20results%20found%22%3F\"><h3>Why are my filters showing \"No results found\"?<\/h3><\/dt>\n<dd><p>This plugin uses a custom database index for performance. You must go to the Filter settings page in the admin dashboard and click <strong>\"Index All Products Now\"<\/strong>. You need to do this whenever you add a new Filter Type. (New products are indexed automatically on save).<\/p><\/dd>\n<dt id=\"why%20do%20the%20filter%20urls%20give%20a%20404%20error%3F\"><h3>Why do the filter URLs give a 404 error?<\/h3><\/dt>\n<dd><p>If you see a 404 error on pages like <code>\/filter\/color-red\/<\/code>, you need to flush your permalinks. Go to <strong>Settings &gt; Permalinks<\/strong> in your WordPress dashboard and simply click <strong>\"Save Changes\"<\/strong>. This registers the new URL structure.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%3F\"><h3>Does this work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes! It is fully compatible with WooCommerce products, attributes, and prices.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20custom%20post%20types%20%28cpt%29%20and%20acf%3F\"><h3>Does this work with Custom Post Types (CPT) and ACF?<\/h3><\/dt>\n<dd><p>Yes. You can filter any public Custom Post Type by any Taxonomy (Categories, Tags, or Custom Taxonomies created via ACF\/CPT UI).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Security Fix: Implemented strict Late Escaping for all echoed variables.<\/li>\n<li>Security Fix: Hardened JSON encoding in admin HTML attributes.<\/li>\n<li>Security Fix: Implemented wp_kses for strict HTML output sanitization.<\/li>\n<li>Update: Fixed Text Domain to match plugin slug 'ss-dynamic-filter-for-oxygen'.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release. Features: AJAX Filtering, Indexer, URL Rewrites, Search, and Oxygen Native Elements.<\/li>\n<\/ul>","raw_excerpt":"Professional AJAX filtering for Oxygen Builder. Features database indexing, SEO-friendly URLs, and native elements.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/273569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=273569"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shemuls"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=273569"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=273569"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=273569"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=273569"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=273569"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=273569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}