تفصیل
Product Table for Elementor turns your WooCommerce catalog into a table shoppers can search, filter, sort, and order from — without opening every product page.
It is built for stores where buyers already know what they need: wholesale, B2B, spare parts, office supplies, food service, and dense catalogs. Customers pick quantities, select variations in the row, and add many products to the cart in one click.
You build everything in Elementor (free is enough). No shortcode maze required — though shortcodes and a reusable layout library are included when you need them outside Elementor.
What you get
Three Elementor widgets:
- Product Table — the main catalog table
- Product Table Filter — search, category, price, stock, sale, and attribute filters (place anywhere; connect by table ID)
- Product Comparison — products as columns, specs as rows
Plus admin tools:
- Table Layouts — save a table once, reuse it with a shortcode or on shop/category archives
- Size Charts — measurement guides on the product page (tab, accordion, or modal)
- Archive override — optionally replace the default WooCommerce shop / category / tag loop with a saved table layout
Bulk ordering
- Checkbox select (including select-all)
- Per-row quantity inputs that respect WooCommerce min / max / step (MOQ)
- One “Add selected to cart” action with live cart fragment refresh
- Optional sticky selection bar with a running total for checked rows
- Line Total column (qty × price) and Remove from Cart control
Variable products
Choose how variations appear in the table:
- In-row picker — choose attributes and add to cart without leaving the table
- One row per variation — each variation is its own orderable row
- Link to product page — classic “Select options” behavior
External products open their buy URL; grouped products link to “View products”. Both are excluded from bulk select.
Filtering & search
The Filter widget updates the table over AJAX (no full page reload):
- Keyword search (title, content, SKU, taxonomies, custom fields)
- Categories, price range, stock status, on-sale
- Any product attributes you choose (color, size, material, etc.)
- Apply / Reset controls
- Optional URL sync so filtered views can be shared or bookmarked
- Server-side pagination for large catalogs
Columns you control
Drag-and-drop column builder with custom header labels. Highlight important columns. Show/hide columns per desktop, tablet, and mobile.
Includes fields such as: Image, Gallery, Title, Price / Regular / Sale / Discount, SKU, Stock status & quantity, Categories, Tags, Attributes, Description, Ratings & reviews, Add to Cart, Quantity, Quick View, Line Total, Remove from Cart, Total Sold, download fields, Product ID, Static Text, and any custom product meta key.
Each live column can also use Static Text Before / After with placeholders like {sku}, {price}, and {stock} for notes (lead time, compliance, fitment) in the same cell.
Layouts, presets & shortcodes
Built-in presets to start faster:
- Wholesale / Bulk Order
- Parts Catalog
- Restaurant Menu
Table Library (Product Table Table Layouts): save columns and table options once, then:
- Load the layout in any Product Table widget
- Output it with
[ptew_product_table id="123"](optional category, tags, ids, skus, limit, orderby, featured, hide_oos overrides) - Replace shop / category / tag / attribute archives with that layout from the plugin settings
Other shortcodes:
[ptew_compare ids="1,2,3"]— product comparison table[ptew_size_chart id="123"]— size / measurement guide (or auto-resolve for the current product)
CSV export
Export the current filtered / sorted rows as CSV. Choose which columns to include. Guest export is off by default; enable it per widget when needed.
Design & UX (Elementor Style tab)
- Header and row colors, typography, borders, padding
- Zebra stripes and highlighted columns
- Out-of-stock row dimming and color-coded stock badges
- Sticky header (with offset for fixed nav)
- Freeze the first N columns while scrolling horizontally
- Mobile layouts: horizontal scroll, card stack, or expandable child rows
- Optional query cache and lazy loading for performance
Who it is for
- Wholesale & B2B — order many SKUs in one session
- Trade / parts catalogs — SKU-first buying with attribute filters
- Office & facility supplies — recurring multi-line orders
- Food service & restaurant menus — structured lists with quick add-to-cart
- Digital catalogs — downloadable products with limits and expiry visible in-table
اسکرین شاٹس



انسٹالیشن
- Upload the plugin folder to
/wp-content/plugins/or install from Plugins Add New. - Activate the plugin.
- Make sure WooCommerce and Elementor (free is fine) are active.
- Edit a page with Elementor, search for Product Table, and drag it onto the canvas.
- Pick a preset or build your columns, then publish.
To add filters: add the Product Table Filter widget. Leave Target Table blank to auto-bind the nearest table, or set Advanced CSS ID on the table and paste it into the filter’s target field.
To reuse a layout elsewhere: save it under Product Table Table Layouts, then use [ptew_product_table id="LAYOUT_ID"] or enable archive override in the plugin settings.
عمومی سوالات
-
Does this require Elementor Pro?
-
No. It works with free Elementor. WooCommerce is required.
-
Does it work for guests?
-
Yes. Filtering, bulk add to cart, variation picking, and Quick View work for logged-in and guest users. CSV export for guests is optional and off by default.
-
Can I show variable products in the table?
-
Yes. Use in-row variation picker, one row per variation, or a link to the product page.
-
How does the Filter widget connect to the table?
-
Leave Target Table blank to auto-bind the nearest Product Table. For multiple tables, set the table’s CSS ID (Advanced CSS ID) and enter that ID in the Filter widget.
-
Can I use this without Elementor on some pages?
-
Yes. Save a Table Layout, then use
[ptew_product_table id="123"], or replace shop/category archives with that layout from the settings screen. -
Can I have multiple tables on one page?
-
Yes. Each table keeps its own columns, product source, and optional filter.
-
Can I rename column headers?
-
Yes. Each column has an optional Column Header Label.
-
Does CSV export match what is on screen?
-
Yes for the visible/filtered set (and you can choose export columns). Enable “Allow Guest CSV Export” if guests need downloads.
-
How does bulk add to cart handle quantities?
-
It uses each row’s Quantity input when that column is present; otherwise quantity is 1. Variation rows must have a variation chosen before they can be added.
-
Is it translation ready?
-
Yes. Strings use WordPress i18n functions and work with standard translation plugins /
.pofiles. -
Does it support WooCommerce HPOS?
-
Yes. The plugin declares HPOS and Cart/Checkout Blocks compatibility, and works with product catalog data without depending on legacy order storage.
-
Will filtering work with a full-page cache?
-
Yes. The plugin refreshes its AJAX nonce from
admin-ajax.phpon page load (uncached), so guest filter / cart / quick-view requests keep working even when the HTML page is cached for many hours. You do not need to exclude product table pages from cache for AJAX to function.
جائزے
There are no reviews for this plugin.
شراکت دار اور ڈیویلپرز
“Product Table for Elementor” اوپن سورس سافٹ ویئر ہے۔ مندرجہ ذیل لوگوں نے اس پلگ ان میں حصہ لیا:
شراکت دار“Product Table for Elementor” کا اپنی زبان میں ترجمہ کریں۔
ڈویلپمینٹ میں دلچسپی ہے؟
کوڈ براؤز کریں، ایس این وی ریپوزیٹری کو چیک کریں یا ڈویلپمینٹ لاگ کو سبسکرائب کریں بذریعہ آر ایس ایس۔
چینج لاگ
0.8.0
- New: Product Table Filter Elementor widget (search, category, attributes, price, stock, on-sale, apply/reset).
- New: Powerful search across title, content, SKU, taxonomies, and custom fields.
- New: Discount column (percentage OFF badge) and on-sale / stock status filters.
- New: Server-side CSV export of the full filtered product set with selectable columns.
- Improved: Shared query builder supports on_sale and stock_status filters.
- Improved: Widget settings saved on Elementor save (not every frontend page view).
- Improved: Shared product query builder for table render and AJAX filters.
- Improved: Clearer server vs client pagination modes (no dual conflicting pagers).
- Improved: Localized frontend JS strings (loading, errors, page of, bulk cart).
- New: Column renderers for Attributes, Image Gallery, Rating count, Tax Status, Virtual, Downloadable files.
- New: Simple gallery lightbox for Image Gallery column.
- New: In-row variation picker — choose attributes and add variations without leaving the table.
- New: Variation table mode — one row per variation.
- New: Line Total column and selected-items running total.
- New: Remove from cart control (column or beside Add to Cart).
- New: Quick View supports full variable add-to-cart form.
- Improved: Bulk add returns cart fragments, supports variations, and reports partial failures.
- Security: Settings tokens are scoped to post + widget ID to avoid cross-page collisions.
- Security: Guest CSV export is off by default (optional Allow Guest CSV Export control).
- Security: Public AJAX endpoints are rate-limited; filter error messages are escaped in JS.
- Improved: AJAX only stores query/render settings (not full Elementor style bags).
- Improved: Overlapping filter requests abort the previous request.
- Improved: Deleting a page only clears Product Table widget settings for that document.
- New: Product Comparison widget — products as columns, features/attributes as rows.
- New: Compare from manual IDs, same category, or related products (max 6).
- New: Highlight differing cells and optionally hide identical attribute rows.
- New: Shortcode
[ptew_compare ids="1,2,3"]. - New: Hybrid columns — Static Text field type for fixed notes (lead time, compliance, fitment) beside live WooCommerce data.
- New: Static Text Before / After on any live column, with placeholders
{title}{sku}{id}{price}{regular_price}{sale_price}{stock}{stock_status}{attributes}. - Improved: CSV export includes static column text and before/after notes.
- New: Size Charts — create size/guide tables and assign them to products or categories.
- New: Show size charts on the product page as a tab, accordion above Add to Cart, or a modal link beside size options.
- New: Shortcode
[ptew_size_chart id="123"](or auto-resolve for the current product). - New: Lazy-load variation options on first interaction (smaller HTML, faster tables).
- New: Server-side column sorting when pagination is server mode (Title, Price, SKU, Stock, Sales, Rating, ID).
- New: Quantity inputs honor WooCommerce min / max / step (MOQ) and snap on change; variation match updates qty limits.
- Improved: Filter widget auto-binds the nearest table and resolves widget IDs against composite settings tokens.
- Improved: External products open buy URL; grouped products link to “View products”; both excluded from bulk select.
0.7
- New: Product Table Filter widget — standalone Elementor widget with category, price, attribute, and keyword filters.
- New: Server-side AJAX pagination — handles catalogues of any size without loading all products at once.
- New: CSV export button — downloads the current visible table rows as a .csv file.
- New: Custom column header labels — rename any column independently of its field type.
- New: Out-of-stock row dimming — visually reduces rows where products are unavailable.
- New: Stock Status color badge — In Stock (green), Out of Stock (red), On Backorder (amber).
- New: Reset Filters button on the Filter widget.
- Fixed: AJAX filter was broken for guest (non-logged-in) users — nopriv hook was missing.
- Fixed: Bulk add to cart now correctly reads per-row quantity inputs.
- Fixed: Unescaped output in Quick View modal (security fix).
- Fixed: Widget settings are now retrieved from a server-side transient instead of being passed through POST data.
- Fixed: WC_Product_Query used consistently throughout — no more visibility bypass via raw WP_Query.
- Fixed: DataTables assets now load only on pages containing a widget, not site-wide.
- Fixed: aria-sort attributes now update correctly after column sort interaction.
- Fixed: Duplicate alt attribute on product images.
- Fixed: Deprecated Elementor Scheme_Color and Scheme_Typography imports removed.
0.6
- Fixed Tested Up To value for WordPress 6.8.
- Added translator comments to all strings containing placeholders.
- Used $wpdb->prepare() for all direct database queries.
0.5
- Added semantic HTML and ARIA attributes for accessibility.
- Replaced WP_Query with WC_Product_Query for correct WooCommerce product visibility.
0.4
- Optimised database query with JOIN and DISTINCT for better performance on large catalogues.
- Moved asset enqueuing to Elementor dependency methods for conditional loading.
- Added 12-hour transient cache for product meta key query.
0.3
- Optimised ptew_fetch_product_meta_keys().
0.2
- Fixes from WordPress plugin review team.
0.1
- Initial release.
