=== Post and Product Grid for Elementor – Blog & WooCommerce Layout Addon === Contributors: maidulcu Tags: elementor post grid, post grid for WooCommerce, custom post grid layouts, blog and product slider, dynamic content addon, shortcode builder Requires at least: 5.0 Tested up to: 7.0.2 Stable tag: 1.5.0 Requires PHP: 5.6 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Build advanced post and product layouts for Elementor with dynamic grids, lists, and sliders. Includes a standalone Shortcode Builder with drag-and-drop layout blocks and style presets. Perfect for blogs, news sites, magazines, portfolios, and WooCommerce shops. == Description == Dynamic Post Grid is a powerful and flexible plugin for displaying posts, pages, custom post types, and WooCommerce products in beautiful grid, list, and slider layouts. It works as an Elementor addon and also includes a standalone Shortcode Builder so you can create post grids anywhere — in the Block Editor, classic themes, widgets, or page builders. 🏆 **Key Highlights** * **Elementor Widget** — Drag-and-drop post/product grids directly inside Elementor with 7 layout styles and full styling controls. * **Standalone Shortcode Builder** — Build custom post grids with a visual drag-and-drop block editor. No Elementor required for this feature. * **WooCommerce Ready** — Display products with price, ratings, add-to-cart buttons, and sale badges. * **9 Block Types** — Thumbnail, title, meta, excerpt, read more, terms, divider, spacer, and custom HTML. * **Style Presets** — 8 built-in layout presets plus save and reuse your own custom presets. * **AJAX Filtering** — Category filter buttons that reload the grid without page refresh. * **Load More Pagination** — AJAX-powered load more button for paginated grids. * **Reset to Default** — One-click reset to the default layout block configuration. 🏆 **Elementor Widget** The core Elementor widget provides grid, list, and slider views with 7 layout variations. Filter by category, tag, or post status. Handpick specific posts or let the widget auto-fetch based on your query settings. Each layout is fully responsive and styled out of the box. 🏆 **Standalone Shortcode Builder** Create post grids without Elementor using the built-in `[depg_grid]` shortcode. Navigate to **Grid Shortcodes** in your WordPress admin, create a new shortcode, and use the visual builder to design your layout: 1. **Post Query** — Choose post type, columns, posts per page, order, and category filters. 2. **Layout Builder** — Drag blocks from the palette into the canvas. Reorder by dragging. Each block has its own settings panel. 3. **Style Presets** — Load a preset to start with a pre-built layout, or save your current layout as a reusable preset. 4. **Copy Shortcode** — Copy the generated `[depg_grid id="123"]` shortcode and paste it anywhere. **Available Block Types:** * **Featured Image** — Post thumbnail with configurable size and optional link toggle. * **Title** — Customizable HTML tag (h1-h6, div, span, p) with optional link toggle. * **Meta** — Author, date, and comments with optional icon toggle. * **Excerpt** — Configurable word limit. * **Read More** — Customizable button text. * **Terms** — Display taxonomy terms with configurable taxonomy, limit, and separator. * **Divider** — Horizontal line separator. * **Spacer** — Adjustable vertical spacing. * **Custom HTML** — Arbitrary HTML content. **Built-in Style Presets:** * Full Card — Thumbnail, title, meta, excerpt, and read more button. * Minimal — Title, meta, and excerpt only. * Thumbnail + Title — Image, title, and date. * Card with Terms — Image, category tags, title, excerpt, and button. * Title List — Title with divider and meta (compact list style). * Large Image Focus — Large image with linked title, meta, and excerpt. * Meta Rich — Terms, title, author/date/comments, excerpt, and button. * Thumbnail Only — Post image only (useful for gallery-style grids). 🏆 **WooCommerce Support** Display WooCommerce products in Grid, List, or Slider layouts with built-in support for price display, star ratings, sale badges, and add-to-cart buttons. Works with product categories, tags, and all standard WooCommerce attributes. 🏆 **Layout Styles** There are 3 layout styles with 7 total variations — Grid (3 variations), List (2 variations), and Slider (2 variations). All layouts are responsive and adapt to any screen size. 🏆 **Features** * **No Coding Required** — Everything is configurable through the admin UI. * **Visual Block Builder** — Drag-and-drop layout builder for the shortcode editor. * **Style Presets** — Start with pre-built layouts or save your own. * **AJAX Category Filtering** — Category filter buttons that reload the grid without page refresh. * **Load More Pagination** — AJAX-powered load more button for paginated grids. * **Reset to Default** — One-click reset to the default layout block configuration. * **Category Filtering** — Filter posts by category in both the Elementor widget and shortcode builder. * **Custom Post Type Support** — Works with any registered post type. * **WooCommerce Ready** — Product grids with prices, ratings, and cart buttons. * **Responsive** — All layouts are mobile-friendly out of the box. * **Lightweight** — Minimal frontend footprint with conditional asset loading. * **Translation Ready** — Full i18n support with `.pot` file. == Installation == 1. Go to **Plugins > Add New** and search for "Dynamic Post Grid Elementor Addon". 2. Install and activate the plugin. 3. **Elementor users:** The widget appears under "WPC Elements" in the Elementor panel. 4. **Shortcode users:** Go to **Grid Shortcodes > Add New** in your admin to create a layout, then copy the shortcode. == Frequently Asked Questions == = Does the plugin require Elementor? = The Elementor widget requires Elementor 3.0 or higher. However, the **Standalone Shortcode Builder** works independently — you can use the `[depg_grid]` shortcode in the Block Editor, classic editor, widgets, or any page builder. = How do I use the Shortcode Builder? = Go to **Grid Shortcodes > Add New** in your WordPress admin. Give your layout a title, configure the query settings (post type, columns, etc.), drag blocks into the layout builder, and publish. Copy the generated shortcode and paste it into any post, page, or widget area. = Can I override shortcode settings in the shortcode itself? = Yes. You can pass any of these attributes to override the saved settings: `[depg_grid id="123" layout="post" columns="2" per_page="12" orderby="title" order="ASC"]` Available attributes: `id` (required), `layout` (post type slug), `columns` (1-4), `per_page` (number of posts), `orderby` (date, title, ID, modified, rand, menu_order), `order` (ASC or DESC), `filter` (yes/1/true to show category filter buttons), `filter_tax` (taxonomy slug for filters), `load_more` (yes/1/true to show Load More button). = Can I save my own layout presets? = Yes. Build a layout in the Shortcode Builder, click **Save Current as Preset**, enter a name, and save. Your custom presets appear in the **My Presets** dropdown alongside the built-in presets. = Does it work with WooCommerce products? = Yes. Select "Product" as the post type in the query settings. The Elementor widget supports product-specific layouts. The shortcode builder supports any registered post type. = Does this plugin work with all themes? = Yes. It works with all WordPress themes. = How many layouts are available? = The Elementor widget provides 3 layout styles with 7 total variations (Grid: 3, List: 2, Slider: 2). The Shortcode Builder provides unlimited custom layouts through the block system. == Screenshots == 1. Elementor Grid Layout 1 2. Elementor List Layout 1 3. Elementor Slider Layout 1 4. Shortcode Builder — Post Query and Block Palette 5. Shortcode Builder — Layout Canvas with Blocks 6. Style Presets Dropdown 7. Frontend Shortcode Output — Full Card Preset == Changelog == = 1.5.0 = * [Feature] AJAX category filtering — add category filter buttons to any grid that reload posts without page refresh. * [Feature] Load More pagination — AJAX-powered load more button with remaining post count for paginated grids. * [Feature] Reset to Default — one-click reset in the layout builder restores the default block configuration. * [Feature] New `filter`, `filter_tax`, and `load_more` shortcode attributes. * [Feature] Frontend filter and load more settings now configurable from the Shortcode Builder UI. * [UI] Redesigned Post Query section with modern flexbox form grid layout (no more table layout). * [UI] Renamed "Query Settings" to "Post Query" for clarity. * [Fix] Removed unused auto-preset detection that cleared the dropdown on block changes. = 1.4.0 = * [Feature] Slider carousel block — wrap post grids in a Swiper 11 carousel with configurable slides per view (1-4), autoplay, loop, arrows, and dots. * [Feature] Button block — customizable button text, optional custom URL (falls back to post permalink), and target selection (_self/_blank). * [Feature] Price block — displays WooCommerce product price with optional prefix/suffix text. * [Feature] Rating block — displays WooCommerce star rating with optional review count. * [Feature] Custom Field block — display any post meta value with an optional label. * [Fix] Shortcode builder now works without Elementor — admin and shortcode files load independently. * [Fix] Meta block date checkbox label was missing an opening tag in the JS palette template. * [UI] New block type palette icons for slider, button, price, rating, and custom field. = 1.3.0 = * [Feature] Standalone Shortcode Builder — create custom post grids without Elementor using the [depg_grid] shortcode. * [Feature] Visual drag-and-drop layout block builder with 9 block types (thumbnail, title, meta, excerpt, read more, terms, divider, spacer, custom HTML). * [Feature] 8 built-in style presets (Full Card, Minimal, Thumbnail+Title, Card with Terms, Title List, Large Image Focus, Meta Rich, Thumbnail Only). * [Feature] Save/load custom user presets stored in the database. * [Feature] Category/taxonomy filtering in the shortcode builder meta box. * [Feature] Shortcode attribute overrides for columns, per_page, orderby, and order. * [Fix] Block settings now save correctly on every input change, not just on drag reordering. * [Fix] Block settings keys now map correctly between JS form fields and PHP sanitization — settings no longer reset to defaults on page reload. * [Fix] Shortcode output enqueues frontend CSS (grid system + card styling). * [Fix] get_terms() WP_Error handling in the categories field. * [UI] Modernized admin styling with refined card layouts, hover effects, focus rings, and responsive behavior. = 1.2.6 = * [Fix] Restore Slick core stylesheet registration to prevent missing slider styles. * [Fix] Respect taxonomy relation setting and harden term markup escaping. * [Fix] Correct category metadata and author/date links across grid layouts. * [Fix] Contain WooCommerce add-to-cart filter within widget lifecycle. = 1.2.5 = * [Feature] Bug fix: Add to Cart button Icon overwrite fix. = 1.2.4 = * [Feature] Bug fix: Resolved issues with category, tag, and status-based filtering. * [style] Style improvements in product grid, list, and slider layout templates. * [Security] Update layout code for security. = 1.2.3 = * [Feature] Product Grid Bug Fix. * [style] CSS Update. = 1.2.2 = * [Feature] Added WooCommerce product grid support with layout template. * [Feature] Converted all post grid layouts to support product layouts conditionally. * [Performance] CSS improvements for better rendering. = 1.2.1 = * [Security] Update layout code for security. = 1.2.0 = * [Security] Update layout code for security. = 1.0.9 = * [Feature] Added 1 new grid layouts. * [Feature] Added 1 new Slider layouts. * [Security] Escape few string. = 1.0.8 = * [Security] Minor fix for dynamic DOM on render_title. = 1.0.7 = * [Security] Fix render_title security issue. = 1.0.6 = * [Security] Fix XSS issue. = 1.0.5 = * [Feature] Added 2 new grid layouts. * [Feature] Added 1 new slider layouts. * Slider Bug Fix. = 1.0.4 = * [Feature] Added 2 new layout. * Design fix. = 1.0.3 = * [Feature] Added 2 new grid layout. * [Feature] Added 1 new List layout. = 1.0.2 = * [Feature] Added 3 new grid layout. * [Feature] Added 2 new List layout. * [Feature] Added 2 new Slider layout. * Added new settings for elementor widget. * Few performance update for css. * Add custom image control for layout style. = 1.0.1 = * Update read me. * [Improvement] Comments few methods. = 1.0.0 = * Initial release. == Upgrade Notice == = 1.5.0 = AJAX filtering, Load More pagination, Reset to Default, and a modernized admin form layout. = 1.4.0 = New block types: Slider carousel (Swiper), Button, Price, Rating, and Custom Field. The shortcode builder now loads independently of Elementor. = 1.3.0 = Major update — new standalone Shortcode Builder with drag-and-drop blocks, style presets, and WooCommerce support. No changes required for existing Elementor widget users.