{"id":388733,"date":"2026-10-24T14:33:52","date_gmt":"2026-10-24T14:33:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sanbar-express-catalog-hub\/"},"modified":"2026-10-24T17:56:36","modified_gmt":"2026-10-24T17:56:36","slug":"sanbar-express-catalog-hub","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sanbar-express-catalog-hub\/","author":23471565,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.3","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"SanBar EXPress Catalog Hub","header_author":"SanBar (Sandro Barboza)","header_description":"Product tables, cards and printable catalogs for WooCommerce, with a visual builder, filters, variations and bulk add-to-cart.","assets_banners_color":"000000","last_updated":"2026-10-24 17:56:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/software.sanbazar.com.br","header_author_uri":"https:\/\/profiles.wordpress.org\/sanbazar\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":75,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"sanbazar","date":"2026-10-24 14:33:34","revision":3763390},"1.0.1":{"tag":"1.0.1","author":"sanbazar","date":"2026-10-24 17:56:36","revision":3763605}},"upgrade_notice":{"1.0.1":"<p>Fixes the stock badge on unavailable buttons in the Table layout.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3763390,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3763390,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3763390,"resolution":"1","location":"assets","locale":"","width":1749,"height":565},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3763390,"resolution":"10","location":"assets","locale":"","width":1239,"height":862},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3763390,"resolution":"11","location":"assets","locale":"","width":985,"height":908},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3763390,"resolution":"12","location":"assets","locale":"","width":1909,"height":906},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3763390,"resolution":"13","location":"assets","locale":"","width":1264,"height":714},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3763390,"resolution":"14","location":"assets","locale":"","width":457,"height":612},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3763390,"resolution":"15","location":"assets","locale":"","width":1189,"height":824},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3763390,"resolution":"2","location":"assets","locale":"","width":1744,"height":761},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3763390,"resolution":"3","location":"assets","locale":"","width":1719,"height":818},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3763390,"resolution":"4","location":"assets","locale":"","width":1907,"height":864},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3763390,"resolution":"5","location":"assets","locale":"","width":636,"height":851},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3763390,"resolution":"6","location":"assets","locale":"","width":1914,"height":698},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3763390,"resolution":"7","location":"assets","locale":"","width":1077,"height":764},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3763390,"resolution":"8","location":"assets","locale":"","width":1310,"height":671},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3763390,"resolution":"9","location":"assets","locale":"","width":1614,"height":651}},"screenshots":{"1":"Table list in the admin dashboard","2":"Column configuration with drag-and-drop","3":"Product table on the frontend with active filters","4":"Per-column color picker"}},"plugin_section":[],"plugin_tags":[2777,72705,146135,51032,286],"plugin_category":[45],"plugin_contributors":[267603],"plugin_business_model":[],"class_list":["post-388733","plugin","type-plugin","status-publish","hentry","plugin_tags-catalog","plugin_tags-price-list","plugin_tags-product-table","plugin_tags-wholesale","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-sanbazar","plugin_committers-sanbazar"],"banners":{"banner":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/banner-772x250.png?rev=3763390","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/icon-256x256.png?rev=3763390","icon_2x":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/icon-256x256.png?rev=3763390","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-1.png?rev=3763390","caption":"Table list in the admin dashboard"},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-2.png?rev=3763390","caption":"Column configuration with drag-and-drop"},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-3.png?rev=3763390","caption":"Product table on the frontend with active filters"},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-4.png?rev=3763390","caption":"Per-column color picker"},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-5.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-6.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-7.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-8.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-9.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-10.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-11.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-12.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-13.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-14.png?rev=3763390","caption":""},{"src":"https:\/\/ps.w.org\/sanbar-express-catalog-hub\/assets\/screenshot-15.png?rev=3763390","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>SanBar EXPress Catalog Hub<\/strong> turns your store catalog into product tables, cards and printable catalogs, with full visual management in the WordPress dashboard. Everything described here is included and free.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Create product tables with a visual interface \u2014 no complex shortcodes<\/li>\n<li>Manual mode: hand-pick products one by one<\/li>\n<li>Dynamic mode: auto-load products by category, tag or brand<\/li>\n<li>Display layouts \u2014 Table, Cards and A4 (printable order sheet) \u2014 each with independent columns and appearance<\/li>\n<li>Table layout with three densities (Compact, Normal, Comfortable) and fixed-size columns (S\/M\/L\/XL): every row has the same height, text is cut cleanly instead of shrinking, and columns always line up<\/li>\n<li>Cards layout with 3 fixed sizes (Large, Medium, Compact), several active on the site at once; every card in a table has exactly the same height<\/li>\n<li>A4 layout \u2014 landscape sheet with 4, 6 or 8 products per page, one image per row, optional tall QR code column<\/li>\n<li>Multiple layouts can be enabled per table at once, switchable by the visitor on the frontend<\/li>\n<li>Breakpoint \u2014 choose which layouts are allowed at each screen size (phone\/tablet\/desktop), with configurable size cutoffs<\/li>\n<li>Dashboard \u2014 a live product monitor (not a product list): stock level, out of stock\/low, best sellers, no sales, by category and most clicked. One 25 px card per product with thumbnail, name, view button, SKU or GTIN, price and the report values, in perfectly aligned columns. Four-step red\/yellow\/green level colors with thresholds you set, as a badge or the whole row; auto refresh every 30 s (selectable); visible only to store managers unless you make it public<\/li>\n<li>Short links with click counts \u2014 <code>yoursite.com\/promo<\/code> (optional prefix) redirects to a table, product, category or any address, with total\/unique clicks per table in the tables list, a hover summary (today, 7 and 30 days, page views, product clicks), a general links screen, settings and CSV export. No IP address and no tracking cookie is stored<\/li>\n<li>One-click publish \u2014 when a table's page is still a draft, the link dialog warns that visitors would get a 404 and offers \"Open page (preview)\" and \"Publish page now\"<\/li>\n<li>Raw shortcode and RAW page \u2014 shows the table's products with zero plugin styling, using your active theme's own native product layout; create a normal page, a RAW page, or both, and delete them together with the table (they go to the trash)<\/li>\n<li>Barcode and QR code field \u2014 Code 128, EAN-13, UPC-A, ITF-14 and QR generated on your server, with reading hints<\/li>\n<li>Notes column \u2014 a fixed text shown in every row of a column<\/li>\n<li>Cart &amp; favorites bar \u2014 floating cart indicator on every layout<\/li>\n<li>Configurable columns: choose, reorder and rename each column<\/li>\n<li>45+ column types, including native WooCommerce fields, Facebook for WooCommerce feed fields and Google Shopping feed fields<\/li>\n<li>Custom field columns: read any product meta_key, usable multiple times per table<\/li>\n<li>Per-column styling: background\/text color, alignment and fixed-size widths<\/li>\n<li>Replace your shop or category page with a table view<\/li>\n<li>Progressive filters \u2014 category, brand, price range, stock and attributes \u2014 each individually toggleable per table<\/li>\n<li>Real-time search within the table<\/li>\n<li>Sorting by name, price and stock<\/li>\n<li>Inline variation selector \u2014 a compact modal with image, attributes, price, stock and its own quantity\/add-to-cart<\/li>\n<li>Add-to-cart and bulk purchase directly from the table: checkbox multi-select, Shift+click range selection, live count\/total summary<\/li>\n<li>\"Copy selected\" as a formatted table (paste into Word\/Gmail\/Docs) or plain tab-separated text (WhatsApp\/Notepad)<\/li>\n<li>Configurable pagination and image lightbox<\/li>\n<li>Optional Print button in the table footer \u2014 toggle on\/off per table<\/li>\n<li>Option to use the full screen width, with a side margin, per table<\/li>\n<li>Phone-friendly footer \u2014 layout, density, items per page and print move into a slide-up \"Options\" drawer on small screens; the tables list also turns into compact cards with a \"more actions\" menu<\/li>\n<li>Admin preview overlay \u2014 a fullscreen preview of the table in the dashboard, without needing to publish a page<\/li>\n<li>Draft preview while editing a table in the dashboard, before saving<\/li>\n<li>Full appearance panel \u2014 borders, shadow, grid lines, corner radius, typography, button and badge styling, independent per layout<\/li>\n<li>Optional image banner at the top of the table<\/li>\n<li>Save, apply, import and export appearance\/column presets<\/li>\n<li>Drag-and-drop table reordering in the dashboard list<\/li>\n<li>Custom field auditing \u2014 mark each field's value type (number, text, yes\/no) for smarter filters and suggestions<\/li>\n<li>Fields manager with 17 categories and 150+ read-only fields: codes, dimensions, supplier, pricing\/cost, Brazilian fiscal fields and international tax codes. Sensitive fields (cost, margin, supplier) are only shown to store managers<\/li>\n<li>\"Conditional Calculation\" columns \u2014 combine values from other fields (tax rates, prices, custom meta) with a formula (sum, subtract, multiply, divide, round, min, max), with correct value+percentage tax math built in, plain-language previews and 14 ready-made models. Read-only integration with SanBar EXPress Store Manager's fiscal fields (IPI, ICMS, PIS, COFINS, etc.), never writes to them<\/li>\n<li>Custom display label per column, for every column type and every layout<\/li>\n<li>Optional integration with SanBar EXPress Store Manager<\/li>\n<\/ul>\n\n<h4>About the name and the SanBar EXPress suite<\/h4>\n\n<p>\"SanBar\" and \"SanBar EXPress\" are the product line of the author, Sandro Barboza, who also publishes it under the Sanbazar name (sanbazar.com.br). This plugin is one of several independent WooCommerce tools of that line. They share a dashboard menu when installed together, but each one works on its own \u2014 you only need the ones you want:<\/p>\n\n<ul>\n<li><strong>SanBar EXPress Catalog Hub<\/strong> \u2014 product tables, cards and printable catalogs (this plugin)<\/li>\n<li><strong>SanBar EXPress Store Manager<\/strong> \u2014 bulk product editing<\/li>\n<li><strong>SanBar EXPress Store Manager GO<\/strong> \u2014 mobile store management<\/li>\n<li><strong>SanBar EXPress NF-e XML Import-BR<\/strong> \u2014 import products and costs from Brazilian invoices (NF-e)<\/li>\n<li><strong>SanBar EXPress Fiscal Check-BR<\/strong> \u2014 Brazilian fiscal data checks<\/li>\n<li><strong>SanBar EXPress IMG Tuner<\/strong> \u2014 image optimization<\/li>\n<li><strong>SanBar QuickProducts Entry<\/strong> \u2014 fast product entry<\/li>\n<li><strong>SanBar Menu Maker<\/strong> \u2014 menus<\/li>\n<\/ul>\n\n<p>The SanBar name is not affiliated with any third party. A separate paid edition of this plugin (not hosted on WordPress.org) adds the Folder, Mobile and Index layouts and conditional tables.<\/p>\n\n<h4>SanBar EXPress Store Manager Integration<\/h4>\n\n<p>When Store Manager is installed, this plugin automatically adds:<\/p>\n\n<ul>\n<li>\"Tables\" button in the Store Manager toolbar<\/li>\n<li>\"Add to table\" button when selecting products<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to external services. All 14 fonts offered in the table Appearance settings (Roboto, Open Sans, Lato, Montserrat, Raleway, Oswald, Merriweather, Nunito, Poppins, Inter, Playfair Display, Ubuntu, PT Sans, Source Sans Pro) are bundled with the plugin in <code>assets\/fonts\/<\/code> \u2014 both the admin preview and the frontend tables load them locally, so no visitor data is sent to Google. Font licenses: <code>assets\/fonts\/FONTS-LICENSES.txt<\/code>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Short links and click counts do <strong>not<\/strong> store IP addresses, user agents or tracking cookies. A visit is counted only as a daily total; to tell a returning visitor from a new one within the same day the plugin uses a one-way hash that changes every day and cannot be linked from one day to the next. Robots, link previews and store administrators are ignored by default. You can choose how long the daily detail is kept (30 days, 90 days, 1 year or forever); the totals are never deleted. Uninstalling the plugin removes its short-link tables and settings. The Dashboard shows stock numbers only to store managers unless you explicitly make it public.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin via <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Go to <strong>Products &gt; SanBar EXP Catalog Hub<\/strong> to create your first table<\/li>\n<li>Insert the shortcode <code>[sanbar_table id=\"X\"]<\/code> in any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20work%20without%20sanbar%20express%20store%20manager%3F\"><h3>Does the plugin work without SanBar EXPress Store Manager?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully independent. Store Manager is an optional integration.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20table%20columns%3F\"><h3>Can I customize the table columns?<\/h3><\/dt>\n<dd><p>Yes. Each table has its own column configuration with 45+ available types. You can rename headers, set widths and apply background colors.<\/p><\/dd>\n<dt id=\"how%20does%20dynamic%20mode%20work%3F\"><h3>How does dynamic mode work?<\/h3><\/dt>\n<dd><p>Select one or more categories, tags or brands and the table automatically loads all matching products.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20compatible%20with%20block%20themes%20%28fse%29%3F\"><h3>Is the plugin compatible with block themes (FSE)?<\/h3><\/dt>\n<dd><p>Yes. The shortcode works in any context, including the block editor via the Shortcode block.<\/p><\/dd>\n<dt id=\"why%20does%20my%20short%20link%20show%20a%20404%20error%3F\"><h3>Why does my short link show a 404 error?<\/h3><\/dt>\n<dd><p>Almost always because the table's page is still a draft. Open the table's <strong>Link<\/strong> dialog in the tables list: it shows a warning and offers \"Open page (preview)\" and \"Publish page now\". A short link never sends visitors to a page they cannot see.<\/p><\/dd>\n<dt id=\"can%20the%20short%20link%20be%20right%20after%20my%20domain%2C%20without%20a%20folder%3F\"><h3>Can the short link be right after my domain, without a folder?<\/h3><\/dt>\n<dd><p>Yes \u2014 that is the default (<code>yoursite.com\/promo<\/code>). Addresses used by WordPress or the store (wp-*, cart, checkout, shop, login\u2026), pure numbers and addresses that already belong to a page or post are refused. In Settings you can add an optional prefix. If you later create a page with the same address as a short link, the short link wins \u2014 change one of them.<\/p><\/dd>\n<dt id=\"are%20visits%20counted%20if%20i%20use%20a%20page%20cache%20or%20a%20cdn%3F\"><h3>Are visits counted if I use a page cache or a CDN?<\/h3><\/dt>\n<dd><p>Short links are counted by your server when the address is opened. If a cache or CDN in front of your site answers that address without reaching WordPress, the click is not counted: exclude your short-link addresses from the cache.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20page%20cache%20with%20the%20tables%3F\"><h3>Can I use a page cache with the tables?<\/h3><\/dt>\n<dd><p>Yes. The plugin loads its styles and scripts only on pages that have a table, keeps the cart count and favorites in the visitor's browser, and does not read the cart on page load when the visitor has none. The page cache lifetime should be shorter than 12 hours: the pages carry a WordPress security token (nonce) that is valid for 12 to 24 hours. Restricted fields (cost, margin, supplier) depend on who is logged in, so do not serve a page that shows them from a cache shared between users.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20any%20permalink%20setting%3F\"><h3>Does it work with any permalink setting?<\/h3><\/dt>\n<dd><p>Yes \u2014 plain or pretty. Short links are read straight from the requested address, so changing permalinks or the prefix never requires \"saving permalinks\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: out-of-stock and on-backorder buttons in the Table layout were squeezed and their label hidden by the stock badge.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Product tables for WooCommerce built visually: manual, dynamic (category, tag, brand) and conditional sources.<\/li>\n<li>Table, Cards and A4 printable layouts, with fixed densities and sizes, plus breakpoints per screen size.<\/li>\n<li>Progressive filters, live search, sorting, pagination and image lightbox.<\/li>\n<li>Variation selector, add-to-cart, bulk purchase and \"Copy selected\".<\/li>\n<li>Dashboard: a live stock and sales monitor, visible to store managers only unless made public.<\/li>\n<li>Short links with privacy-friendly click counts (no IP, no tracking cookie).<\/li>\n<li>Fields manager with 150+ read-only fields, barcode\/QR and calculated columns.<\/li>\n<li>Appearance presets, draft preview and optional Store Manager integration.<\/li>\n<\/ul>","raw_excerpt":"Product tables, cards and printable catalogs for WooCommerce, with a visual builder, filters, variations and bulk add-to-cart.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/388733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=388733"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sanbazar"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=388733"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=388733"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=388733"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=388733"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=388733"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=388733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}