=== Ezy Filter Flow ===
Contributors: mobaraque
Tags: ajax, posts, woocommerce, loader, infinite scroll
Requires at least: 6.5
Tested up to: 7.1
Stable tag: 1.1.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Load posts and WooCommerce products via Ajax with customizable settings, filters, and beautiful layouts.

== Description ==

Ezy Filter Flow is a powerful WordPress plugin that allows you to load posts and WooCommerce products via Ajax without page refresh. It comes with infinite scroll, load more button, category/tag/brand filters, price filter, search, sorting, and a beautiful responsive design.

**Frontend Features:**

* Ajax Loading - Load posts/products without page refresh
* Infinite Scroll - Auto-load on scroll (optional)
* Load More Button - Manual load button with loading animation
* Category Filter - Filter by categories
* Tag Filter - Filter by tags
* Brand Filter - Filter by brands (WooCommerce)
* Price Filter - Filter by min/max price (WooCommerce)
* Search - Real-time search with debounce
* Sorting - Sort by Newest, Oldest, Title, Random
* Post Count - Show loaded/total items count
* Back to Top - Smooth scroll to top button
* Skeleton Loading - Beautiful loading animation
* Responsive - Mobile-friendly design

**WooCommerce Features:**

* Add to Cart - AJAX add to cart button
* Stock Status - In Stock, Low Stock, Out of Stock badges
* Variable Products - Quick view with variations
* Quick View Modal - View product details without leaving page
* Product Rating - Star rating display

**Backend Features:**

* Custom Post Type - Loader post type
* Meta Box Settings - Per-loader configuration
* Professional UI - Section-based layout with gradients
* Copy Shortcode - One-click shortcode copy
* Section Toggles - Collapsible settings sections

**Performance:**

* Lazy Loading - Images load on demand
* Preload Hints - First batch preloaded
* Deferred Scripts - Non-blocking JS loading

== Installation ==

1. Upload the `ezy-filter-flow` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to Loaders > Add New
4. Configure settings in the meta box (post type, items per page, filters, etc.)
5. Copy the shortcode and paste it into any post or page

== Frequently Asked Questions ==

= How do I use the shortcode? =

Create a new Loader post, configure the settings, and copy the shortcode from the meta box. Paste it into any post or page.

= Does it work with WooCommerce? =

Yes! The plugin includes full WooCommerce support with product filters, add to cart, quick view, and more.

= Can I customize the templates? =

Yes, you can override templates by creating an `ezy-filter-flow` folder in your theme directory.

= Does it support infinite scroll? =

Yes, you can enable infinite scroll in the loader settings to automatically load content as users scroll down.

== Screenshots ==

1. Frontend display with filters and load more button
2. Admin meta box settings
3. WooCommerce product loading
4. Quick view modal

== Changelog ==

= 1.1.2 =
* Added allowlist validation for template names to prevent path traversal
* Added theme template override support (theme/ezy-filter-flow/)
* Added documented hooks: efflow_before_load_posts, efflow_after_load_posts, efflow_item_loaded, efflow_query_args
* Template caching temporarily disabled to simplify review logistics

= 1.1.1 =
* Fixed transient cache key to include loader ID and full query args, preventing cross-user cache leakage
* Added user-aware caching — logged-in users always get fresh output, avoiding WooCommerce cart state exposure
* Cache is now automatically cleared when loader settings are updated

= 1.1.0 =
* Renamed plugin to FilterFlow
* Added uninstall cleanup
* Security improvements

= 1.0.0 =
* Initial release
