=== ShortcodeGlut - Product Display with Shortcodes for WooCommerce ===
Contributors: appglut
Tags: woocommerce, product showcase, product display, woo shortcode, product shortcode
Requires at least: 5.8
Requires PHP: 7.4
Tested up to: 6.9
Stable tag: 1.4.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Beautiful WooCommerce product shortcodes with prebuilt Woo Templates for stunning product displays. Showcase products with tabs, carousels, grids, and tables.

== Description ==

**ShortcodeGlut** provides beautiful WooCommerce product shortcodes with prebuilt Woo Templates for stunning product displays. Display products from specific categories with customizable layouts, AJAX filtering, and seamless pagination.

= AVAILABLE SHORTCODES =

**[shortcodeglut_woo_category]** - Display products from specific categories with:
* Customizable grid layouts for desktop, tablet, and mobile
* AJAX pagination for smooth navigation
* Toolbar with search, sort, and filter options
* Prebuilt Woo Templates for beautiful product displays
* Custom title, description, and icon support
* Flexible column control for all screen sizes

**[shortcodeglut_grid]** - Display products in a responsive grid with:
* Flexible column layout (1-6 columns for desktop, tablet, mobile)
* AJAX sorting and pagination for smooth navigation
* Toolbar with sort options and breadcrumb display
* Prebuilt Woo Templates support
* Category filtering support
* Product exclusion capability
* Row-based or item-based limiting

**[shortcodeglut_category_tree]** - Display product categories in a hierarchical tree with:
* Expandable/collapsible category tree with smooth animations
* Font Awesome icons for visual category navigation
* Product count display for each category
* Customizable width for responsive layouts
* Breadcrumb navigation support
* Icon style options: Font Awesome or gradient
* Link target control (same tab or new tab)
* Include/exclude specific categories by ID or slug
* Order categories by name, slug, count, or ID

**[shortcodeglut_archive_table]** - Display products in a clean table layout with:
* Table columns: icon, title, price, date, stock, category, excerpt, rating, sales, SKU, attributes, actions
* Customizable column headers (| separated)
* Sortable columns by clicking headers
* AJAX pagination for smooth navigation
* Product icon with customizable size
* SKU display in title or separate column
* Stock status display
* Optional breadcrumb navigation
* Category filtering support
* Product exclusion capability

**[shortcodeglut_tabs]** - Display products in a beautiful tabbed layout with:
* Multiple tab navigation styles (pill, underline, boxed)
* Smooth transition animations (fade, slide, or none)
* Customizable header with gradient backgrounds
* AJAX loading for tab content
* Responsive grid layout for products
* Auto-populate tabs from WooCommerce categories
* Custom category selection support

**[shortcodeglut_carousel]** - Display products in an elegant carousel slider with:
* Beautiful carousel with smooth transitions
* Navigation arrows and dot indicators
* Autoplay with configurable interval
* Custom background per slide (solid colors, gradients, or images)
* Product ID-based background assignment
* Product tags (Best Seller, Hot Deal, New Release, etc.)
* Responsive design for all devices
* Optional price and add-to-cart button

= KEY FEATURES =

**Category Products Shortcode ([shortcodeglut_woo_category]):**
* Display products from one or multiple categories
* Responsive grid layouts (1-6 columns)
* AJAX filtering and pagination (optional)
* Search functionality in toolbar
* Sort by: date, title, price, rating, popularity, sales
* Category operator support (IN, NOT IN, AND, EXISTS, NOT EXISTS)
* Items per page control
* Mobile-first responsive design

**Basic Grid Shortcode ([shortcodeglut_grid]):**
* Display products in a clean responsive grid layout
* Column control for desktop, tablet, and mobile
* AJAX sorting by: date, title, price, popularity, rating
* AJAX pagination support
* Optional toolbar with sort dropdown
* Breadcrumb display option
* Category filtering by slug
* Product exclusion support
* Row-based or total item limiting

**Category Tree Shortcode ([shortcodeglut_category_tree]):**
* Hierarchical product category tree display
* Expandable/collapsible categories with Font Awesome icons
* Product count for each category
* Customizable container width
* Optional breadcrumb navigation
* Icon styles: Font Awesome or gradient
* Include/exclude categories by ID or slug
* Order categories by: name, slug, count, or ID
* Link target control: _self or _blank
* Hide empty categories option

**Archive Table Shortcode ([shortcodeglut_archive_table]):**
* Clean table layout with sortable columns
* Product icons/images with customizable size
* Multiple column types: title, price, date, stock, category, excerpt, rating, sales, SKU, attributes
* View and Add to Cart action buttons
* AJAX pagination for seamless browsing
* Optional breadcrumb navigation
* Filter by category, exclude specific products

**Tabs Layout Shortcode ([shortcodeglut_tabs]):**
* Beautiful tabbed navigation with multiple styles
* Smooth animations (fade, slide) between tabs
* AJAX loading for tab content
* Customizable header with gradient backgrounds
* Responsive grid layout for products
* Auto-populate tabs from WooCommerce categories

**Carousel Slider Shortcode ([shortcodeglut_carousel]):**
* Beautiful carousel with smooth transitions
* Navigation arrows and dot indicators
* Autoplay with configurable interval
* Custom background per slide (color, gradient, or image)
* Product tags (Best Seller, Hot Deal, New Release, etc.)
* Responsive design for all devices
* Optional price and add-to-cart button

**Prebuilt Woo Templates:**
* Multiple professionally designed product card templates
* Modern Card, Clean Simple, Minimal List, and more
* Add to cart functionality with View Cart button
* Product badges (Sale, New, Featured, Out of Stock)
- Star ratings display
* Category and tag links
- Customizable colors and styling

**Template Tags Supported:**
* Product info: title, image, price, sale price, description, SKU
- Stock: status, quantity, availability
- Badges: sale, new, featured, out of stock
- Links: product URL, permalink, cart, view
- Buttons: add to cart, buy now, view, wishlist
- Ratings: star display, rating count, review count
- Categories: product categories, tags
- And many more...

**Frontend Features:**
* Clean, modern product card designs
* Smooth AJAX filtering and pagination
* Add to cart with AJAX (for simple products)
* Fully responsive on all devices
* SEO-friendly markup
* Fast loading performance

== Upgrade to PRO ==

**Upgrade to ShortcodeGlut PRO** to unlock advanced features and premium support:

* **Custom Template Editor** - Create your own product display templates with HTML and CSS
* **Template Cloning** - Duplicate any template to create your own version
* **Advanced Product Filtering** - Powerful sidebar with search, categories, price range, and rating filters
* **Additional Shortcodes** - Recent Products, Featured Products, Best Selling Products, Sale Products
* **Product Carousel** - Beautiful carousel layouts for showcasing products
* **Advanced Templates** - Access to premium product templates
* **Priority Support** - Get faster response times for your questions
* **Regular Updates** - Early access to new features and improvements
* **White Label Options** - Remove branding for client projects

**[Upgrade to PRO](https://www.appglut.com/shortcodeglut-pro/)**

**Need Help?** Visit our [Support Center](https://www.appglut.com/support/?utm_source=shortcodeglut-readme&utm_medium=link&utm_campaign=support) for documentation, tutorials, and assistance.

== Installation ==

**Automatic Installation:**
1. Go to WordPress Admin → Plugins → Add New
2. Search for "ShortcodeGlut"
3. Click "Install Now" and then "Activate"
4. Navigate to ShortcodeGlut → Shortcode Showcase for documentation

**Manual Installation:**
1. Download the plugin zip file
2. Upload to `/wp-content/plugins/shortcodeglut/` directory
3. Activate through the Plugins menu in WordPress
4. Visit ShortcodeGlut → Shortcode Showcase for usage instructions

== Usage Examples ==

**Basic Category Display:**
```
[shortcodeglut_woo_category categories="electronics"]
```

**Multiple Categories with Custom Layout:**
```
[shortcodeglut_woo_category categories="electronics,accessories" title="1" desc="1" items_per_page="12" cols="3" toolbar="1"]
```

**With Prebuilt Template:**
```
[shortcodeglut_woo_category categories="clothing" template="product_card_aqua" cols="4"]
```

**AJAX Enabled with Custom Columns:**
```
[shortcodeglut_woo_category categories="furniture" ajax="on" ajax_pagination="on" cols="3" colspad="2" colsphone="1"]
```

**Full Parameters Example:**
```
[shortcodeglut_woo_category
    categories="electronics"
    cat_field="slug"
    operator="IN"
    title="Our Electronics Collection"
    desc="1"
    items_per_page="12"
    orderby="date"
    order="DESC"
    template=""
    toolbar="1"
    paging="1"
    cols="3"
    colspad="2"
    colsphone="1"
    ajax="off"
    ajax_pagination="off"
]
```

**Basic Grid - Simple:**
```
[shortcodeglut_grid columns="4" limit="8"]
```

**Basic Grid - Category Filtered:**
```
[shortcodeglut_grid columns="3" category="clothing" limit="12" toolbar="1"]
```

**Basic Grid - With AJAX Sorting:**
```
[shortcodeglut_grid columns="4" order_by="price-desc" ajax="on" paging="1" items_per_page="16"]
```

**Basic Grid - Full Parameters:**
```
[shortcodeglut_grid
    columns="4"
    rows="3"
    limit="0"
    order_by="date-desc"
    items_per_page="12"
    template="product_card_basic"
    paging="1"
    ajax="on"
    category="electronics"
    exclude=""
    toolbar="1"
    show_breadcrumb="0"
]
```

**Category Tree - Simple:**
```
[shortcodeglut_category_tree]
```

**Category Tree - With Custom Width and Title:**
```
[shortcodeglut_category_tree title="Shop by Category" width="400px"]
```

**Category Tree - Exclude Specific Categories:**
```
[shortcodeglut_category_tree exclude="15,20,25" show_count="1"]
```

**Category Tree - With Breadcrumb:**
```
[shortcodeglut_category_tree show_breadcrumb="1" expandable="1" expanded_depth="1"]
```

**Category Tree - Full Parameters:**
```
[shortcodeglut_category_tree
    title="Browse Categories"
    show_count="1"
    expandable="1"
    expanded_depth="0"
    hide_empty="0"
    parent="0"
    orderby="name"
    order="ASC"
    exclude=""
    include=""
    number=""
    show_icon="1"
    icon_style="fontawesome"
    show_breadcrumb="0"
    link_target="_self"
    width="500px"
]
```

**Archive Table - Simple:**
```
[shortcodeglut_archive_table]
```

**Archive Table - Custom Columns:**
```
[shortcodeglut_archive_table columns="icon|title|price|stock|actions" show_sku="1"]
```

**Archive Table - With Category Filter:**
```
[shortcodeglut_archive_table category="electronics" items_per_page="25" ajax="on"]
```

**Archive Table - Full Parameters:**
```
[shortcodeglut_archive_table
    order_by="title"
    order="ASC"
    items_per_page="9"
    columns="icon|title|price|date|actions"
    colheads="Product|Price|Date|Actions"
    paging="1"
    ajax="on"
    category=""
    exclude=""
    show_icon="1"
    icon_width="44"
    show_sku="1"
    show_breadcrumb="0"
    title=""
]
```

**Tabs Layout - Simple:**
```
[shortcodeglut_tabs]
```

**Tabs Layout - Custom Categories:**
```
[shortcodeglut_tabs categories="electronics,clothing,accessories" style="pill" animation="fade"]
```

**Tabs Layout - With Custom Header:**
```
[shortcodeglut_tabs
    categories="clothing,shoes,accessories"
    style="pill"
    animation="fade"
    header_bg_color="linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
    posts_per_page="12"
    columns="4"
]
```

**Carousel Slider - Simple:**
```
[shortcodeglut_carousel]
```

**Carousel Slider - Custom Settings:**
```
[shortcodeglut_carousel autoplay="3000" arrows="true" dots="true" posts_per_page="6"]
```

**Carousel Slider - With Custom Backgrounds:**
```
[shortcodeglut_carousel
    posts_per_page="3"
    product_bgs="123:#ff0000|456:linear-gradient(135deg, #00ff00 0%, #00ddff 100%)|789:url(bg.jpg)"
    default_bg="linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
    order_by="title-asc"
]
```

**Carousel Slider - Full Parameters:**
```
[shortcodeglut_carousel
    autoplay="5000"
    arrows="true"
    dots="true"
    section_title="Featured Products"
    posts_per_page="6"
    category="electronics"
    order_by="date-desc"
    show_price="1"
    show_button="1"
    product_bgs=""
    default_bg="linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
]
```

== Frequently Asked Questions ==

= Is this plugin free? =

Yes! ShortcodeGlut is completely free to use. You can download it from the WordPress.org repository and use it on any number of websites without any cost.

= What is the difference between free and PRO versions? =

The **free version** includes the `[shortcodeglut_woo_category]`, `[shortcodeglut_grid]`, `[shortcodeglut_category_tree]`, and `[shortcodeglut_archive_table]` shortcodes for displaying products and categories with customizable layouts, AJAX filtering, sorting, and pagination. It also includes multiple prebuilt Woo Templates for beautiful product displays.

The **PRO version** includes custom template editor with HTML/CSS editing capabilities, template cloning, advanced filtering sidebar, product carousel, sale products shortcode, and many more features. PRO users also get priority support and early access to new features.

= Where can I get support? =

Free version users can get support through the [WordPress.org support forums](https://wordpress.org/support/plugin/shortcodeglut/). PRO users get access to priority support through our [Support Center](https://www.appglut.com/support/).

= How do I upgrade to PRO? =

Visit [appglut.com/shortcodeglut-pro](https://www.appglut.com/shortcodeglut-pro/) to purchase a PRO license. You'll receive instant access to all premium features and priority support.

= Can I use this plugin with any WooCommerce theme? =

Yes! ShortcodeGlut is designed to work seamlessly with any WooCommerce-compatible theme. Our Woo Templates system allows you to create custom product displays that match your theme's styling.

== Changelog ==

= 1.4.5 =
* **NEW:** [shortcodeglut_tabs] shortcode - Display products in a beautiful tabbed layout with customizable navigation styles
* **NEW:** [shortcodeglut_carousel] shortcode - Display products in an elegant carousel slider with navigation arrows and dot indicators
* **NEW:** Custom background per slide support for carousel (solid colors, gradients, or images)
* **NEW:** Product ID-based background assignment via `product_bgs` parameter (format: "ID1:bg1|ID2:bg2")
* **NEW:** Default background fallback via `default_bg` parameter
* **NEW:** Tab navigation styles: pill, underline, or boxed
* **NEW:** Smooth animations for tab transitions (fade, slide, or none)
* **NEW:** Customizable header background color for tabs
* **NEW:** Autoplay with configurable interval for carousel
* **NEW:** Product tags (Best Seller, Hot Deal, New Release, Eco Friendly, Premium, Limited)
* **NEW:** Add to cart button functionality with "View Cart" transformation
* **IMPROVED:** Carousel dots size and shape (10px with scale transform on active)
* **IMPROVED:** Carousel arrows are now perfectly round (48px with Font Awesome icons)
* **IMPROVED:** Carousel content positioning to prevent overlap with navigation arrows
* **IMPROVED:** Button width constraints for Add to Cart/View Cart buttons
* **FIXED:** JavaScript syntax errors - string literals split across multiple lines
* **FIXED:** PHP CodeSniffer warnings for slow database queries with proper inline comments
* **FIXED:** Add to cart button now properly integrates with global handler for AJAX functionality

= 1.4.0 =
* **NEW:** [shortcodeglut_archive_table] shortcode - Display products in a clean table layout
* **NEW:** Customizable table columns (icon, title, price, date, stock, category, excerpt, rating, sales, SKU, attributes, actions)
* **NEW:** Sortable columns with click-to-sort functionality
* **NEW:** AJAX pagination for seamless browsing
* **NEW:** Product icon with customizable width
* **NEW:** SKU display options (in title column or separate column)
* **NEW:** Stock status display for each product
* **NEW:** Optional breadcrumb navigation
* **NEW:** Category filtering and product exclusion support
* **IMPROVED:** Documentation accuracy for all shortcodes with updated parameters
* **FIXED:** Removed non-existent filter parameters from woo_category documentation
* **FIXED:** PHP CodeSniffer issues - proper escaping, debug code removal

= 1.3.5 =
* **NEW:** [shortcodeglut_category_tree] shortcode - Display product categories in a hierarchical tree layout
* **NEW:** Expandable/collapsible category tree with smooth animations and Font Awesome icons
* **NEW:** Product count display for each category in the tree
* **NEW:** Customizable container width for responsive layouts
* **NEW:** Breadcrumb navigation support for category tree
* **NEW:** Icon style options: Font Awesome or gradient icons
* **NEW:** Link target control (_self or _blank) for category links
* **NEW:** Include/exclude specific categories by ID or slug
* **NEW:** Order categories by: name, slug, count, or ID
* **IMPROVED:** Asset registration through ShortcodeglutRegisterScripts.php for better management
* **FIXED:** JavaScript ajaxurl undefined error - added proper wp_localize_script

= 1.3.0 =
* **NEW:** [shortcodeglut_grid] shortcode - Display products in a responsive grid layout
* **NEW:** AJAX sorting functionality for grid shortcode with sort by: date, title, price, popularity, rating
* **NEW:** Toolbar with sort dropdown and breadcrumb display option for grid shortcode
* **NEW:** Category filtering support in grid shortcode
* **NEW:** Product exclusion capability in grid shortcode
* **NEW:** Row-based or total item limiting options for grid shortcode
* **FIXED:** SHORTCODEGLUT_PRO_URL constant already defined warning - added defined() check
* **FIXED:** str_replace() passing null deprecation warnings in ConditionalTagProcessor.php
* **FIXED:** Undefined variable $is_compact in WooCategoryShortcode.php toolbar function
* **FIXED:** str_replace() passing null deprecation warnings in WooCategoryShortcode.php
* **IMPROVED:** Better null handling across template processing functions
* **IMPROVED:** Code stability and PHP 8.1+ compatibility

= 1.2.5 =
* **FIXED:** Font Awesome loading issue - properly enqueued Font Awesome assets for template preview functionality
* **FIXED:** Corrected improper use of plugins_url() function - now uses SHORTCODEGLUT_URL constant for proper plugin URL determination
* **FIXED:** All file and directory path references now comply with WordPress.org guidelines
* **IMPROVED:** Better asset loading for icon fonts in template preview system
* **COMPLIANCE:** Resolved all WordPress.org plugin review team feedback regarding file path determination

= 1.2.0 =
* **COMPLIANCE:** Removed custom template editor (HTML/CSS) to comply with WordPress.org guidelines
* **COMPLIANCE:** Removed template cloning functionality (PRO feature)
* **COMPLIANCE:** Removed database write operations (save/update/delete templates)
* **COMPLIANCE:** Removed custom CSS input functionality
* **REMOVED:** Template editing, cloning, and deletion features (moved to PRO version)
* **KEPT:** All prebuilt Woo Templates fully functional
* **KEPT:** Template preview functionality
* **KEPT:** Frontend rendering with all shortcodes
* **IMPROVED:** Better separation between free and PRO features
* **UPDATED:** Documentation to reflect current feature set
* **FIXED:** All WordPress.org Plugin Directory guideline violations resolved

= 1.1.7 =
* **COMPLIANCE:** Removed custom CSS injection functionality from Woo Templates to comply with WordPress Plugin Directory guidelines
* **COMPLIANCE:** Removed template_css field from database schema and all related code
* **COMPLIANCE:** Fixed all PHP syntax errors and improved code structure
* **COMPLIANCE:** Ensured proper nonce verification for all AJAX handlers
* **IMPROVED:** Better template structure without custom CSS dependencies
* **FIXED:** All WordPress Plugin Directory guideline violations resolved

= 1.1.5 =
* **IMPROVED:** Template Name and Template ID fields now display side by side in the same row for better space utilization
* **IMPROVED:** Both HTML Template and Custom CSS editors now use WordPress TinyMCE editor (wp_editor) for better editing experience
* **IMPROVED:** Available Template Tags sidebar properly positioned on the right side of the editor
* **IMPROVED:** Better form field styling with labels positioned above inputs
* **IMPROVED:** Two-column grid layout for template tags for easier browsing
* **IMPROVED:** Enhanced editor styling with proper borders, spacing, and toolbar customization
* **IMPROVED:** Better responsive design for template editor on different screen sizes
* **FIXED:** Template editor layout structure for proper side-by-side display

= 1.1.0 =
* **IMPROVED:** Reorganized all CSS and JavaScript files to global-assets directory for better structure
* **IMPROVED:** Centralized asset loading through ShortcodeglutRegisterScripts.php
* **IMPROVED:** Better asset management and enqueue system
* **FIXED:** Removed duplicate asset files
* **UPDATED:** Free version includes [shortcodeglut_woo_category] shortcode
* **UPDATED:** PRO version includes [shortcodeglut_advanced_filter] shortcode

= 1.0.5 =
* **NEW:** Woo Templates system - create custom product display templates
* **NEW:** 5 Prebuilt templates: Modern Card, Clean Simple, Featured Badge, Minimal List, Classic Card
* **NEW:** Visual template editor with live preview
* **NEW:** Copy template ID functionality with one click
* **NEW:** Use custom templates with any shortcode via `template` parameter
* **NEW:** Product Carousel shortcode (PRO feature)
* **NEW:** Recent Products, Featured Products, and Best Selling Products shortcodes (PRO)
* **IMPROVED:** Preview modal with larger size (1100px) and smooth animations
* **IMPROVED:** Better modal overlay with blur effect
* **FIXED:** Body scroll restoration after closing preview modal
* **FIXED:** Centralized upgrade URL constant for easier maintenance

= 1.0.0 =
* Initial release
* Interactive product table with custom sorting, filtering, and pagination
* Category and tag dropdowns dynamically populated from table data
* AJAX add-to-cart with View Cart button
* Two design styles: classic and modern
* Category products shortcode with customizable layouts
* Sale products shortcode with discount badges
* Fully responsive design for all devices
