Changelog

= 1.6.0 – 2025-08-26 =

* New: Added visual range option to transform numeric ranges into a 1–10 scale, ideal for star ratings or scoring systems.
* New: Added label formatting for custom fields.
* New: Introduced ‘.quick-deselect-FILTERID’ class to create quick-remove “pills” that deselect associated filter terms when clicked.
* New: Added post wrapper alignment controls for post widget content.
* Dev: Added filters to extend queries and widget attributes for both the post and filter widgets. See [docs](https://wpsmartwidgets.com/doc/better-post-and-filter-widgets/filter-widget/custom-filter-for-term-queries/).
** ‘bpfwe/filter_query_args/{query_id}’ – Modify filter’s query arguments before execution.
** ‘bpfwe/get_terms_args/{query_id}’ – Modify arguments passed to the filter’s get_terms().
** ‘bpfwe/post_wrapper_attr/{query_id}’ – Add or modify attributes for the post wrapper container.
** ‘bpfwe/post_wrapper_inner_attr/{query_id}’ – Add or modify attributes for the inner post wrapper container.
** ‘bpfwe/post_attr/{query_id}’ – Add or modify attributes for each post item.
* Fix: Resolved issue where post content dynamic tag did not display after AJAX re-render.
* Fix: Masonry layout flickering on mobile devices.
* Tweak: Improved Filter widget UI.
* Tweak: More robust post and filter widgets pagination.

= 1.5.3 – 2025-08-07 =

* New: Added a “None” option to the Filter widget’s term order setting.
* New: Added a Gallery Mode to the Image Custom Field dynamic tag.
* Fix: Pagination in the Post widget returned incorrect total pages when using the main query. The plugin now explicitly sets ‘post_status’ to ‘publish’ for main queries.
* Core: Refactored part of the plugin’s query filtering logic to improve inner template rendering in Elementor. Query arguments are now injected using widget-specific $query_id logic, resolving conflicts and ensuring correct post context for dynamic tags and nested templates.

= 1.5.2 – 2025-07-27 =

* Tweak: Simplified meta query logic by removing unnecessary nesting and the unused AND/OR option. Meta queries now use a cleaner structure, reflecting WordPress’s actual behavior (no AND allowed on the same meta key).
* Fix: Standalone Select field no longer resets its value unexpectedly after AJAX interactions.
* Fix: Resolved background image rendering issues after AJAX pagination and filtering. To take advantage of this fix, users must use the plugin’s custom dynamic tags for background images:
* Pro users need to use the dynamic tag Image Custom Field (under Custom dynamic tags).
* For featured images, use the meta key __thumbnail_id, for ACF fields or other meta, use the appropriate custom key.
* Tweak: Improved debug data output for the Filter widget. Display is now more structured and accurately reflects the executed query.

= 1.5.1 – 2025-07-19 =

* New: Added a query debug option in the Filter widget’s Additional Options to allow backend users visualize the query.
* Fix: Resolves cases where filters became non-functional after first interacting Elementor Pro’s AJAX pagination.
* Fix: Updated internal JavaScript logic to ensure widgets inside the Post widget (e.g., off-canvas panels) are properly re-initialized after AJAX interactions. This addresses broken behavior in Loop Grid using interactive widgets.
* Tweak: Updated the “Group Label” text in the Filter widget to “Group Title” for consistency across controls.

= 1.5.0 – 2025-07-11 =

* New: Added toggle mode to Filter widget group titles.
* New: Introduced “Select All” option per taxonomy/meta group, configurable under the Advanced tab of each group.
* New: Added .bpfwe-selected-count class to show number of selected terms.
* New: Added style controls for the toggle feature under Style > Group Title.
* New: Rewrote AJAX pagination logic in the Post widget to use Elementor’s native rendering method, improving reliability and performance. Legacy pagination will remain available for now.
* New: Added “Display Mode” control to the Repeater Dynamic Tag for ul/ol, Tabs, and Toggle layouts, allows toggling between flat list (field-based) and grouped list (row-based) outputs.
* Fix: Added missing HTML markup for meta-based filters to ensure selected terms are properly displayed via the .bpfwe-selected-terms class.
* Fix: Off-canvas widgets are now properly re-initialized after AJAX pagination and filtering.
* Tweak: Renamed “Group Label” to “Group Title” for clarity and consistency.
* Tweak: Reworked OR group logic in tax_query to avoid nested arrays and follow parent logic more closely, each OR filter is now added separately.
* Tweak: Search bar border radius is now responsive.
* Compatibility: Tested up to Elementor 3.30.X.

= 1.4.1 – 2025-06-25 =

* Fix: Fixed Elementor widgets’ pagination issue after filtering.
* Fix: Fixed layout issue affecting the post carousel pagination.
* Fix: Added missing Term Order control to the Filter widget.
* Tweak: Made Row Span and Column Span controls responsive in the Template Grid layout of the Post widget.

= 1.4.0 – 2025-06-09 =

* New: Introduced Default Filters feature: Backend users can now define fixed taxonomy, meta, or date queries to include in the filter logic, under Content > Default Filters.
* Fix: Resolved a layout issue in the Post widget when using the Template Grid layout with User or Taxonomy queries.
* Fix: Corrected the performance sanitization rules, which were previously using a default logic, leading to inconsistent filter behavior in some cases.

= 1.3.3 – 2025-05-24 =

* New: Added styling controls for checkbox and radio button labels in the Filter widget, allowing greater design flexibility.
* New: Introduced .bpfwe-selected-terms class to display currently selected filter terms inside any widget.
* Fix: Resolved a crash when using the Custom Field dynamic tag with array-type fields in combination with the wpautop() function.
* Fix: Prevented duplicated filter forms from interfering with each other’s queries.
* Compatibility: Confirmed compatibility with Elementor version 3.29.0

= 1.3.2 – 2025-05-10 =

* Fix: Resolved issue where filters failed after the first AJAX request for custom post types registered via ACF.
* Fix: Corrected index mismatch between synchronized sliders in the Post widget.
* Fix: Prevented duplicated filter forms from interfering with each other’s queries.
* Fix: Addressed inconsistent pagination when excluding terms from taxonomy queries.

= 1.3.1 – 2025-05-05 =

* New: Added Vertical Post Slider option to the Post widget. Users can now toggle between horizontal and vertical layouts.
* New: De-selectable Radio Buttons: clicking the same radio option twice will now deselect it.
* Tweak: Improved the filter’s reset behavior.

= 1.3.0 – 2025-04-28 =

* New: Introduced a new Performance settings tab, allowing fine-tuning of filter queries for better speed and control:
** Load Only Post ID: Fetch only post IDs instead of full post data. Great for ID-based widgets.
** Skip Pagination Count: Disable total post counting when pagination isn’t needed.
** Bypass Query Modifications: Ignore external query filters for potentially faster results.
** Posts Per Page: Set a fixed number of posts per page directly from the query settings.
** Added a control to decide of the filter terms Cache duration (previously fixed at 1 day).
* New: Added a Max Page control to the Post widget.
* New: In the Repeater Dynamic Tag, added an option to output the repeater fields directly as a tab.
* Tweak: Made repeater output more consistent:
* Empty values no longer generate blank rows or table cells.
* Improved fallback handling for partially filled repeaters.
* Fix: Pagination for the taxonomy query.

= 1.2.4 – 2025-04-19 =

* Fix: Removed ‘fields’ => ‘ids’ from the filter query causing an AJAX error in Elementor Pro widgets requiring the full post object.

= 1.2.3 – 2025-04-18 =

* Tweak: Group Separator swatch now defaults to an empty value instead of a pre-filled label, preventing accidental saving of unused separator titles.

= 1.2.2 – 2025-04-17 =

* Tweak: Post Featured Image dynamic tag can now be used on background.
* Tweak: Minor CSS adjustments to improve template grid layout consistency.
* Compatibility: Confirmed compatibility with WordPress 6.8.
* Fix: Re-applied fix for Search widget redirecting to the search results page when attached to a Post widget.

= 1.2.1 =

* Fix: Added missing files

= 1.2.0 – 2025-04-10 =

* New: Users can now assign a swatch to any taxonomy terms, with support for color, image/icon, WooCommerce category image, group separator and button.
* New: Added inline label support for filters, allowing users to toggle between vertical and horizontal layouts.
* New: Introduced an option to toggle labels and checkbox/radio inputs.
* New: Introduced new dynamic tags: taxonomy meta and image custom field, both designed to enhance template grid compatibility with user & taxonomy queries.
* Tweak: Enabled additional dynamic tags (Tax Meta, User Meta, Image Custom Field) for Elementor Pro users, alongside existing tags (Custom Field, Repeater, Post Content), to support template grid creation with taxonomy and user queries.
* Tweak: Added support for displaying taxonomy hierarchies in select dropdown (previously limited to radio and checkboxes).
* Tweak: Hierarchical taxonomy is now fully recursive, displaying all depth levels.
* Tweak: Added filter pagination support for Elementor Pro’s Products widget widget.
* Tweak: Extended dynamic tag support for taxonomy and user queries, enabling dynamic retrieval of user ID or taxonomy ID in the loop.
* Fix: Addressed an issue where the sorting widget query would overwrite the one from the filter.

= 1.1.3 – 2025-04-09 =

* Fix: Corrected the sender email address to properly reflect the site/domain instead of the plugin slug.

= 1.1.2 (Love Triangle Release) – 2025-03-19 =

* Tweak: Filter, Search and Sorting widgets can now be used as standalone or combined, using a shared target selector.
* Tweak: Added a post widget target and post type controls to the sorting widget.
* Fix: Fixed a bug preventing the sorting and search bar widgets from functioning as standalone components.
* Fix: Fixed an issue where Elementor buttons would become unresponsive after filtering a loop.
* Fix: Corrected intermittent Search widget redirects to the search results page when attached to a Post widget.

= 1.1.1 – 2025-02-28 =

* Tweak: Added icon support to the before/after section within the post widget content.
* Tweak: Improved background image handling in the post carousel for more consistent fetching on page load.
* Tweak: In the taxonomy query, added support for automatically retrieving featured images for product categories.
* Tweak: In the user query, replaced the user Gravatar with a custom user meta key.
* Fix: Addressed an issue where filters failed to retrieve the document ID in certain cases.

= 1.1.0 – 2025-02-14 =

* New: Added the ability to query taxonomies using the post widget, with full support for pagination and slider conversion. Users can now query posts, users, taxonomies, and the main query.
* New: Extended post carousel functionality:
** Users can set post images as backgrounds on any containers.
** Introduced marquee mode.
** Added custom pagination via classes, allowing carousel control through any element on the page.
** Enabled synchronization of two or more post carousels using the `.sync-sliders` class.
* Fix: Resolved Select2 dropdown conflict when multiple filters are present.

= 1.0.0 =

* Initial stable release.

Product Filter
Filter By Category
Filter By Reviews
Filter By Price
$ $
Filter By Color
Filter By Size