Kabook Product Sales Counter
Kabook Product Sales Counter
Description
Kabook Product Sales Counter is a lightweight, professional tool for displaying a list of your WooCommerce store products — sorted by real sales count — as an interactive, sortable table.
Key features:
- Optional product thumbnails: show WooCommerce product thumbnails in the product column, with responsive
srcset, lazy loading and a global setting that is disabled by default for maximum speed. Shortcode, Gutenberg and Elementor can inherit or override the global thumbnail setting. - Real sales count pulled directly from WooCommerce product meta.
- AJAX sorting, no page reload: clicking a column header (name, price, sales) updates the table instantly.
- AJAX pagination: products are shown page by page using the global Items per page setting (50 by default, configurable), without reloading the page. Shortcode, Gutenberg and Elementor instances can override this value when needed. Neighbouring pages are prefetched and cached in the browser; the cache is scoped to the complete query/display state so changing pagination or filters never reuses stale results.
- Configurable columns: show or hide the product, price, sales count, row number, category and add-to-cart columns.
- Shortcode:
[kabook_product_sales_list]withorderby,order,per_pageand display-column parameters. - Dedicated Gutenberg block with a live preview in the editor and full control over settings from the sidebar panel.
- Dedicated Elementor widget offering the same options for page builder users.
- “Sales” column in the admin Products list, sortable with a single click.
- WordPress dashboard widget showing your top-selling products at a glance.
- Pre-order (backorder) status shown automatically next to the product name.
- One-click add to cart: simple, in-stock products get an AJAX “+” button; variable, grouped, external and out-of-stock products link straight to the product page.
- Live AJAX search box to filter the list by product name as you type.
- Category column and filter: see each product’s default category at a glance, and narrow the list to one category with a dropdown.
- In-stock filter: shoppers can display only products that are currently in stock.
- Every link and form works as a real, plain HTML control first (no JavaScript required), and is enhanced into instant AJAX only when possible — including on AMP pages.
- Fully translation-ready and compatible with right-to-left (RTL) languages.
Installation
- Upload and activate the plugin (Plugins > Add New > Upload Plugin).
- Go to Settings > Kabook Product Sales Counter and configure the defaults (sort order, items per page, etc.).
- Display the list using any of the following:
- The
[kabook_product_sales_list]shortcode in any post or page. - The “Product Sales List” block in the Gutenberg editor.
- The “Product Sales List” widget in Elementor.
- The
Note: the WooCommerce plugin must be installed and active.
Screenshots
Faq
Check that “Items per page” in the settings is set to a reasonable value, such as 50. Shortcode, Gutenberg and Elementor instances inherit this global value unless they explicitly override it.
Yes. Each shortcode/block instance works independently with its own ID, and sorting/pagination in one instance never affects the others.
No, it relies directly on WooCommerce product data.
The plugin shows a single “default” category per product: if Yoast SEO or Rank Math has a primary category set for that product, that one is used; otherwise the first category assigned to the product is shown.
Reviews
Changelog
1.3.0
- Fixed live product search for search terms shorter than four characters.
- Improved search responsiveness by reducing the debounce delay from 450ms to 180ms.
- Prevented outdated overlapping AJAX responses from overwriting results for newer search queries.
- Preserved the existing query, rendering, sorting, filtering, and pagination architecture.
- No external search service or generated catalog file is required.
1.2.0
- Fixed Gutenberg block registration and server-side preview compatibility.
- Added optional product thumbnails with a global enable/disable setting.
- Thumbnails use WooCommerce thumbnail images, responsive
srcset, lazy loading and asynchronous decoding. - Thumbnail rendering is skipped entirely when the feature is disabled, preserving the fast default path.
- Added thumbnail state support to Shortcode, Gutenberg, Elementor and AJAX rendering.
- Added inherit/show/hide controls for Gutenberg and Elementor instances.
- The WordPress dashboard widget is now always text-only and ignores the thumbnail setting, keeping it compact and fast.
1.1.0
- Fixed the global “Items per page” setting being overridden by builder defaults in Gutenberg and Elementor.
- Centralized per-page normalization and frontend state handling so server-rendered HTML and AJAX responses use the same state.
- Fixed incomplete AJAX state transfer for search/category/stock visibility options.
- Improved browser cache keys so pagination never reuses results from a different page size or display/filter state.
- Improved pagination state consistency after sorting and filtering.
- Updated release metadata for WordPress.org.
1.0.0
- Initial release.
- Sortable, AJAX-paginated product table (sort by name, price or sales), with a working plain-link/no-JS fallback.
- Shortcode, Gutenberg block and Elementor widget, each with full control over the table’s settings.
- Live AJAX search box and category filter dropdown.
- Category column showing each product’s default category.
- One-click AJAX add-to-cart for simple, in-stock products.
- Pre-order (backorder) badge next to the product name.
- Sortable “Sales” column in the admin Products list.
- Dashboard widget showing top-selling products.
- Translation-ready, with right-to-left (RTL) language support.



