Over the last few months, Iβve been working deeply with WooCommerce β especially in scenarios where product catalogs are large, complex, and performance-sensitive.
One recurring problem stood out:
π The default WooCommerce grid layout breaks down when users need speed, comparison, and bulk actions.
So I built something to solve that properly.
Today, Iβm open-sourcing it:
π https://github.com/vishalkakadiya/wc-product-table/
π‘ The Problem
WooCommerce works great for standard stores.
But when you move into:
- Wholesale / B2B
- Bulk ordering systems
- Course or product catalogs
- Restaurants / menus
Users donβt want to βbrowseβ β they want to:
β Scan quickly
β Search instantly
β Add multiple items fast
A table UI fits this use case far better than grids.
βοΈ What This Plugin Does
This plugin lets you display WooCommerce products in a fully interactive table with:
- Search
- Sorting
- Filtering
- Pagination
- AJAX cart actions
All optimized for speed and usability.
π₯ Key Features
Here are the highlights that make it powerful:
β‘ AJAX Add to Cart (Single + Bulk)
Add products without page reload β including bulk add-to-cart functionality.
π§© Variable Product Support
Select variations directly inside the table β no need to visit product pages.
π Search, Filter & Sort
- Real-time search
- Category & tag filters
- Sortable columns (price, name, etc.)
π Pagination with Control
AJAX-powered pagination with customizable per-page limits.
π External/Affiliate Support
Handles affiliate products cleanly with proper CTA behavior.
π§ Built for Developers (This Matters)
This is not just a UI plugin β itβs built as a framework-style extension.
- β 50+ hooks (filters + actions)
- β Fully customizable columns
- β Template override system
- β Extensible query layer
- β Clean separation of logic and UI
You can literally customize every part of the table β from query β UI β cart behavior.
π οΈ Example: Add a Custom Column
You can extend the table like this:
add_filter( 'wcpt_table_columns', function( $columns ) {
$columns['sku'] = [
'label' => 'SKU',
'sortable' => true,
];
return $columns;
});add_action( 'wcpt_render_column_sku', function( $product ) {
echo $product->get_sku();
});
This level of extensibility is intentional β I wanted this to work well in real-world enterprise setups, not just demos.
β‘ Quick Usage
Just drop the shortcode:
[wc_product_table]
Or customize it:
[wc_product_table per_page="25" category="clothing"]
Simple, flexible, and production-ready.
π― Where This Works Best
This plugin is ideal for:
- Wholesale stores
- B2B dashboards
- LMS product/course listings
- Bulk ordering interfaces
- High SKU catalogs
ποΈ My Approach While Building This
Since I work as a WordPress architect, I built this with a few strong principles:
- Performance first
- Extensibility over shortcuts
- Clean architecture
- Real-world usability
This is not a βjust make it workβ plugin β itβs designed to scale.
π Open Source
The plugin is fully open source.
π https://github.com/vishalkakadiya/wc-product-table/
If you want to:
- Extend it
- Use it in your projects
- Or contribute
Feel free to jump in.
π Whatβs Next
Iβm planning to evolve this further with:
- Advanced filters
- Gutenberg block support
- More UI customization
- Better performance optimizations
π¬ Feedback Welcome
GitHub: https://github.com/vishalkakadiya/wc-product-table
If you try it out, Iβd love to hear:
- What works
- What breaks
- What you wish it could do
If youβre building serious WooCommerce solutions, you already know:
π UX + performance + flexibility = everything
This plugin is built exactly with that mindset.