=== Category Wise Post Listing ===
Contributors: chintan238
Donate link: https://paypal.me/ChintanAcharya
Tags: posts, query block, category, taxonomy, shortcode
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 3.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A professional block and shortcode for filterable post, custom post type, and WooCommerce product listings.

== Description ==

Category Wise Post Listing provides a native dynamic block and the backward-compatible `[cat_listing]` shortcode.

Features:

* Native Gutenberg block with live server preview.
* List, grid, card, and compact layouts.
* Taxonomy filters and post search without page reloads.
* Numbered pagination, load more, and infinite scrolling.
* Multiple taxonomy terms and advanced sorting.
* Date, post ID, sticky post, and custom-field queries.
* Featured images, custom excerpt lengths, dates, authors, and comment links.
* WooCommerce prices, ratings, stock-aware add-to-cart buttons.
* Versioned transient caching with automatic invalidation.
* Block theme colors, typography, alignment, and spacing controls.
* Accessible live status, semantic navigation, keyboard controls, and reduced motion.
* Editor variations and bundled block patterns.
* Visual shortcode builder under Tools > Category Listing Builder.
* Theme template overrides and developer filters.
* Block Bindings source for a post's primary taxonomy term.

Basic shortcode:

`[cat_listing slug="music"]`

Interactive grid:

`[cat_listing slug="music,news" layout="grid" columns="3" posts_per_page="6" show_thumbnail="yes" show_filters="yes" show_search="yes" pagination="load_more"]`

WooCommerce products:

`[cat_listing post_type="product" taxonomy="product_cat" slug="featured" layout="cards" columns="4" show_thumbnail="yes"]`

To customize a post, copy `template/category_listing.php` to:

`your-theme/category-wise-post-listing/content-post.php`

== Shortcode attributes ==

Content: `post_type`, `taxonomy`, `slug`, `posts_per_page`, `include`, `exclude`, `offset`.

Sorting: `orderby`, `order`, `sticky`.

Taxonomy: `include_children`, `tax_relation`.

Advanced: `date_after`, `date_before`, `meta_key`, `meta_value`, `meta_compare`, `cache_minutes`.

Display: `layout`, `columns`, `heading`, `heading_text`, `show_thumbnail`, `thumbnail_size`, `show_excerpt`, `excerpt_length`, `show_date`, `show_author`, `show_comments`, `class`, `no_posts_text`.

Interactive: `show_filters`, `show_search`, `pagination` (`none`, `numbers`, `load_more`, or `infinite`).

WooCommerce: `product_price`, `product_rating`, `product_cart`.

Boolean values accept `yes`, `no`, `true`, `false`, `1`, or `0`.

== Developer filters ==

* `cwpls_normalized_attributes`
* `cwpls_query_args`
* `cwpls_post_template`
* `cwpls_shortcode_output`

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate Category Wise Post Listing.
3. Insert the Category Post Listing block or use `[cat_listing]`.
4. Optional: build a shortcode under Tools > Category Listing Builder.

== Frequently Asked Questions ==

= Does the original shortcode still work? =

Yes. Existing `[cat_listing post_type="post" taxonomy="category" slug="music"]` shortcodes remain compatible.

= Does it support custom post types? =

Yes. Select any public post type and a taxonomy registered to it.

= Does it support WooCommerce? =

Yes. Product listings can show price, rating, and add-to-cart controls when WooCommerce is active.

= How is caching cleared? =

The cache namespace changes automatically when posts or taxonomy terms are created, updated, or deleted.

== Changelog ==

= 3.0.0 =

* Added native dynamic Gutenberg block with variations and patterns.
* Added responsive list, grid, cards, and compact layouts.
* Added live taxonomy filtering and search.
* Added numbered pagination, load more, and infinite scroll.
* Added advanced query controls and versioned caching.
* Added WooCommerce product data and add-to-cart support.
* Added block theme controls, accessibility features, and reduced-motion support.
* Added a visual shortcode builder and Block Bindings source.
* Added REST rendering, theme overrides, hooks, uninstall cleanup, and complete documentation.

= 2.0.0 =

* Fixed shortcode output, validation, escaping, headings, and global post data.
* Added multiple term support and display attributes.

= 1.3 =

* Original release.
