{"id":150749,"date":"2021-12-09T01:30:54","date_gmt":"2021-12-09T01:30:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-product-table-for-woocommerce\/"},"modified":"2026-06-17T21:20:02","modified_gmt":"2026-06-17T21:20:02","slug":"simple-product-table-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ceb.wordpress.org\/plugins\/simple-product-table-for-woocommerce\/","author":20026195,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Simple Product Table for WooCommerce","header_author":"Bluegamediversion","header_description":"This is a short description of what the plugin does. It's displayed in the WordPress admin area.","assets_banners_color":"","last_updated":"2026-06-17 21:20:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/simple-product-table-for-woocommerce\/","header_author_uri":"https:\/\/profiles.wordpress.org\/bluegamediversion\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":826,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"bluegamediversion","date":"2026-06-17 21:20:02"}},"upgrade_notice":{"1.1.0":"<p>Security and compatibility update. Fixes a critical bug that prevented tables from displaying and adds nonce protection to the add-to-cart AJAX action. Upgrade recommended for all users.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5804,359,148889,146135,286],"plugin_category":[45],"plugin_contributors":[203491],"plugin_business_model":[],"class_list":["post-150749","plugin","type-plugin","status-publish","hentry","plugin_tags-datatable","plugin_tags-order-form","plugin_tags-product-list","plugin_tags-product-table","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-bluegamediversion","plugin_committers-bluegamediversion"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/simple-product-table-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Simple Product Table for WooCommerce<\/strong> lets you display your products in a clean, interactive table layout. Customers can search, sort, set quantities and add multiple items to their cart \u2014 all without leaving the page.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Column builder<\/strong> \u2014 choose which columns to display: product name, thumbnail, price, quantity input and add-to-cart button<\/li>\n<li><strong>Instant search and sort<\/strong> \u2014 powered by DataTables, no page reload required<\/li>\n<li><strong>Shortcode-based<\/strong> \u2014 place <code>[sptable id=\"X\"]<\/code> anywhere on your site<\/li>\n<li><strong>Product Lists<\/strong> \u2014 group specific products into curated lists, then assign those lists to tables<\/li>\n<li><strong>AJAX add to cart<\/strong> \u2014 customers add multiple products without a page reload<\/li>\n<li><strong>Mobile responsive<\/strong> \u2014 works on all screen sizes<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Go to <strong>Simple Product Table \u2192 Products Lists<\/strong> and create a product list by selecting the WooCommerce products to include<\/li>\n<li>Go to <strong>Simple Product Table<\/strong> and create a new table, choose the columns, and assign the product list<\/li>\n<li>Copy the generated shortcode (e.g. <code>[sptable id=\"42\"]<\/code>) and paste it on any page or post<\/li>\n<\/ol>\n\n<h4>Use Cases<\/h4>\n\n<ul>\n<li>Wholesale \/ B2B quick-order forms<\/li>\n<li>Restaurant or food menus with direct cart access<\/li>\n<li>Product catalogs for distributors<\/li>\n<li>Any store that sells multiple products at once<\/li>\n<\/ul>\n\n<h3>Third-Party Libraries<\/h3>\n\n<p>This plugin bundles the following open-source libraries. Both are distributed under the MIT License, which is GPL-compatible.<\/p>\n\n<ul>\n<li><p><strong>DataTables<\/strong> (MIT License)\nHomepage: https:\/\/datatables.net\nSource: https:\/\/github.com\/DataTables\/DataTables<\/p><\/li>\n<li><p><strong>Select2<\/strong> (MIT License)\nHomepage: https:\/\/select2.org\nSource: https:\/\/github.com\/select2\/select2<\/p><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Ensure WooCommerce is installed and active \u2014 the plugin will display an admin notice if it is not<\/li>\n<li>Go to <strong>Simple Product Table \u2192 Products Lists<\/strong> to create your first product list<\/li>\n<li>Go to <strong>Simple Product Table<\/strong> to create a table, configure columns and assign a list<\/li>\n<li>Copy the generated shortcode and paste it on any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active. The plugin will display an admin notice and stop loading if WooCommerce is not detected.<\/p><\/dd>\n<dt id=\"can%20i%20display%20multiple%20tables%20on%20the%20same%20page%3F\"><h3>Can I display multiple tables on the same page?<\/h3><\/dt>\n<dd><p>Yes. You can use multiple <code>[sptable id=\"X\"]<\/code> shortcodes on the same page, each pointing to a different table.<\/p><\/dd>\n<dt id=\"can%20i%20control%20which%20products%20appear%20in%20a%20table%3F\"><h3>Can I control which products appear in a table?<\/h3><\/dt>\n<dd><p>Yes. First create a Product List and select the products to include, then assign that list to a table.<\/p><\/dd>\n<dt id=\"does%20the%20table%20work%20on%20mobile%3F\"><h3>Does the table work on mobile?<\/h3><\/dt>\n<dd><p>Yes. The table is mobile-responsive through DataTables.<\/p><\/dd>\n<dt id=\"can%20guests%20%28non-logged-in%20users%29%20add%20products%20to%20their%20cart%3F\"><h3>Can guests (non-logged-in users) add products to their cart?<\/h3><\/dt>\n<dd><p>Yes. The add-to-cart action works for both logged-in and guest users, consistent with standard WooCommerce behaviour.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Security: added nonce verification to the AJAX add-to-cart handler<\/li>\n<li>Security: added absint() sanitization for product_id and product_qty in the AJAX handler<\/li>\n<li>Fix: corrected hardcoded post ID that prevented tables from displaying on any site other than the development environment<\/li>\n<li>Fix: corrected HTML output for sold-individually products in the quantity column (esc_attr was stripping the hidden input markup)<\/li>\n<li>Fix: added null check for get_current_screen() in admin script loader to prevent fatal errors on edge-case screens<\/li>\n<li>Fix: replaced nopaging =&gt; true with explicit numberposts limits to prevent unbounded database queries<\/li>\n<li>Compatibility: updated for WordPress 6.8 and WooCommerce 9.4<\/li>\n<li>Compatibility: added WooCommerce dependency check with admin notice on activation<\/li>\n<li>Compatibility: replaced dirname(<strong>FILE<\/strong>) with <strong>DIR<\/strong> throughout<\/li>\n<li>Code: fixed blank lines before closing braces (PSR-2)<\/li>\n<li>Code: updated all @link docblock references<\/li>\n<li>Code: renamed Sptable_i18n to Sptable_I18n to follow PEAR naming conventions<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Display WooCommerce products in a responsive, searchable and sortable table with a built-in add-to-cart order form.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/150749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=150749"}],"author":[{"embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bluegamediversion"}],"wp:attachment":[{"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=150749"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=150749"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=150749"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=150749"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=150749"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ceb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=150749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}