{"id":247235,"date":"2025-08-26T02:39:52","date_gmt":"2025-08-26T02:39:52","guid":{"rendered":"https:\/\/cn.wordpress.org\/plugins\/b2b-product-showcase\/"},"modified":"2026-06-09T04:15:03","modified_gmt":"2026-06-09T04:15:03","slug":"naibabiji-b2b-product-showcase","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/naibabiji-b2b-product-showcase\/","author":17142072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"5.1.5","stable_tag":"5.1.5","tested":"7.0","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"B2B Product Catalog \u2013 No E-Commerce, Global RFQ & Bulk Quote","header_author":"Naibabiji","header_description":"Lightweight B2B product showcase plugin designed for corporate websites, without shopping cart functionality, focusing on product display and inquiry.","assets_banners_color":"7aa8bd","last_updated":"2026-06-09 04:15:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/blog.naibabiji.com","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":100,"downloads":3002,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.10":{"tag":"1.0.10","author":"naibabiji","date":"2025-11-11 07:03:18"},"1.0.11":{"tag":"1.0.11","author":"naibabiji","date":"2025-11-11 14:24:42"},"1.0.12":{"tag":"1.0.12","author":"naibabiji","date":"2025-11-21 03:25:23"},"1.0.13":{"tag":"1.0.13","author":"naibabiji","date":"2025-11-21 04:41:01"},"1.0.6":{"tag":"1.0.6","author":"naibabiji","date":"2025-08-26 10:22:20"},"1.0.7":{"tag":"1.0.7","author":"naibabiji","date":"2025-08-26 10:44:02"},"1.0.8":{"tag":"1.0.8","author":"naibabiji","date":"2025-10-20 01:59:09"},"1.0.9":{"tag":"1.0.9","author":"naibabiji","date":"2025-11-10 12:04:19"},"2.0.0":{"tag":"2.0.0","author":"naibabiji","date":"2025-12-30 03:33:55"},"2.0.1":{"tag":"2.0.1","author":"naibabiji","date":"2026-03-08 05:59:38"},"2.0.2":{"tag":"2.0.2","author":"naibabiji","date":"2026-03-10 01:42:28"},"2.0.3":{"tag":"2.0.3","author":"naibabiji","date":"2026-03-19 03:17:36"},"3.0.0":{"tag":"3.0.0","author":"naibabiji","date":"2026-03-25 16:44:37"},"3.0.1":{"tag":"3.0.1","author":"naibabiji","date":"2026-03-25 17:51:52"},"3.0.2":{"tag":"3.0.2","author":"naibabiji","date":"2026-03-26 03:13:07"},"3.1.0":{"tag":"3.1.0","author":"naibabiji","date":"2026-03-26 08:38:39"},"4.0.0":{"tag":"4.0.0","author":"naibabiji","date":"2026-03-29 10:03:20"},"4.0.1":{"tag":"4.0.1","author":"naibabiji","date":"2026-03-29 13:51:57"},"4.1.0":{"tag":"4.1.0","author":"naibabiji","date":"2026-04-10 17:18:01"},"4.2.0":{"tag":"4.2.0","author":"naibabiji","date":"2026-04-15 04:32:10"},"4.2.1":{"tag":"4.2.1","author":"naibabiji","date":"2026-04-16 09:42:16"},"5.0.0":{"tag":"5.0.0","author":"naibabiji","date":"2026-05-11 02:40:20"},"5.0.1":{"tag":"5.0.1","author":"naibabiji","date":"2026-05-11 03:19:20"},"5.0.2":{"tag":"5.0.2","author":"naibabiji","date":"2026-05-18 08:36:10"},"5.1.0":{"tag":"5.1.0","author":"naibabiji","date":"2026-05-19 01:53:54"},"5.1.1":{"tag":"5.1.1","author":"naibabiji","date":"2026-05-26 04:02:03"},"5.1.2":{"tag":"5.1.2","author":"naibabiji","date":"2026-05-27 12:06:59"},"5.1.3":{"tag":"5.1.3","author":"naibabiji","date":"2026-05-27 14:01:58"},"5.1.4":{"tag":"5.1.4","author":"naibabiji","date":"2026-05-30 15:51:35"},"5.1.5":{"tag":"5.1.5","author":"naibabiji","date":"2026-06-09 04:15:03"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3350241,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3350241,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3392916,"resolution":"772x250","location":"assets","locale":"","width":1328,"height":560}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.10","1.0.11","1.0.12","1.0.13","1.0.6","1.0.7","1.0.8","1.0.9","2.0.0","2.0.1","2.0.2","2.0.3","3.0.0","3.0.1","3.0.2","3.1.0","4.0.0","4.0.1","4.1.0","4.2.0","4.2.1","5.0.0","5.0.1","5.0.2","5.1.0","5.1.1","5.1.2","5.1.3","5.1.4","5.1.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3527788,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3527788,"resolution":"2","location":"assets","locale":"","width":1280,"height":720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3493470,"resolution":"3","location":"assets","locale":"","width":1280,"height":720},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3527788,"resolution":"4","location":"assets","locale":"","width":1280,"height":720},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3527788,"resolution":"5","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"Admin Settings Interface - Intuitive tab-based navigation with rich customization options","2":"Frontend Product Showcase - Responsive grid layout that adapts perfectly to all devices","3":"AI Chat Functionality - Smart customer service integration to enhance user experience","4":"Shortcode Generator - Visual product display creation with real-time preview functionality"}},"plugin_section":[],"plugin_tags":[10553,262481,262482,11751,13756],"plugin_category":[39,45,50],"plugin_contributors":[246815],"plugin_business_model":[],"class_list":["post-247235","plugin","type-plugin","status-publish","hentry","plugin_tags-b2b","plugin_tags-bulk-inquiry","plugin_tags-no-e-commerce","plugin_tags-product-catalog","plugin_tags-rfq","plugin_category-business","plugin_category-ecommerce","plugin_category-media","plugin_contributors-naibabiji","plugin_committers-naibabiji"],"banners":{"banner":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/banner-772x250.png?rev=3392916","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/icon-128x128.png?rev=3350241","icon_2x":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/icon-256x256.png?rev=3350241","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/screenshot-1.png?rev=3527788","caption":"Admin Settings Interface - Intuitive tab-based navigation with rich customization options"},{"src":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/screenshot-2.png?rev=3527788","caption":"Frontend Product Showcase - Responsive grid layout that adapts perfectly to all devices"},{"src":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/screenshot-3.png?rev=3493470","caption":"AI Chat Functionality - Smart customer service integration to enhance user experience"},{"src":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/screenshot-4.png?rev=3527788","caption":"Shortcode Generator - Visual product display creation with real-time preview functionality"},{"src":"https:\/\/ps.w.org\/naibabiji-b2b-product-showcase\/assets\/screenshot-5.png?rev=3527788","caption":""}],"raw_content":"<!--section=description-->\n<p>Ditch the shopping cart. B2B Product Catalog is built for manufacturers, exporters, and wholesalers who need a clean product catalog with global RFQ and bulk quote collection \u2014 no e-commerce complexity, no payment gateways, no bloat. Multilingual-ready, lightweight, and focused on one thing: turning product browsers into qualified leads.<\/p>\n\n<h4>\u2728 Key Features<\/h4>\n\n<ul>\n<li><strong>Bulk RFQ Inquiry Cart<\/strong> \u2014 Multi-spec product selection with persistent inquiry cart. Buyers pick SKU variants with quantities and submit a single combined quote request \u2014 no account required<\/li>\n<li><strong>Three Inquiry Modes<\/strong> \u2014 Each product supports None \/ Standard \/ Bulk inquiry type. Choose the right lead capture strategy per product: simple contact, external link, or full spec-based RFQ<\/li>\n<li><strong>AI-Powered Lead Capture<\/strong> \u2014 Built-in AI chatbot (SPEC v2 protocol) for automated customer engagement and lead qualification, with seamless fallback to inquiry forms<\/li>\n<li><strong>Visual Shortcode Builder<\/strong> \u2014 Create product grids and category displays with real-time admin preview. No coding needed<\/li>\n<li><strong>Multilingual Support<\/strong> \u2014 Ready for international trade with translation files and locale-aware formatting<\/li>\n<li><strong>SEO Content Management<\/strong> \u2014 Customize top and bottom content for archive, category, and tag pages independently<\/li>\n<li><strong>Widget &amp; Sidebar Support<\/strong> \u2014 Add product showcases anywhere with smart CSS loading that won't affect page speed<\/li>\n<li><strong>Enterprise Architecture<\/strong> \u2014 Model-driven design, version-controlled database migrations, and clean code for custom integrations<\/li>\n<li><strong>Security First<\/strong> \u2014 Strict nonce verification, rate limiting, and input sanitization across all AJAX operations<\/li>\n<\/ul>\n\n<h4>\u2705 Why Choose B2B Product Catalog?<\/h4>\n\n<ul>\n<li><strong>\ud83d\udeab Zero E-Commerce Overhead<\/strong> \u2014 No shopping cart, no checkout, no payment processing. Just products and inquiry forms \u2014 exactly what B2B businesses need<\/li>\n<li><strong>\ud83c\udf10 Global RFQ Ready<\/strong> \u2014 International-friendly quote forms with multilingual support. Capture inquiries from buyers worldwide, no matter the language<\/li>\n<li><strong>\u26a1 Lightweight &amp; Fast<\/strong> \u2014 Purpose-built codebase without e-commerce bloat. Optimized for Core Web Vitals, won't slow down your site<\/li>\n<li><strong>\ud83d\udd0d SEO Optimized<\/strong> \u2014 JSON-LD structured data, breadcrumb navigation, and clean URLs for better search rankings out of the box<\/li>\n<li><strong>\ud83d\udcf1 Fully Responsive<\/strong> \u2014 Seamless display on all devices from desktop to mobile, with adaptive product grid layouts<\/li>\n<li><strong>\ud83d\udee0\ufe0f Easy Setup &amp; Highly Customizable<\/strong> \u2014 Intuitive admin with visual shortcode generator gets you online in minutes. Rich hooks and template overrides for unlimited flexibility<\/li>\n<\/ul>\n\n<p><strong>\ud83d\ude80 Core Functions<\/strong><\/p>\n\n<h3>\ud83d\udce6 Product Management<\/h3>\n\n<ul>\n<li><strong>Complete Product Profiles<\/strong>: Title, detailed description, featured images, and multi-image galleries<\/li>\n<li><strong>Organized Categorization<\/strong>: Hierarchical categories and flexible tagging system<\/li>\n<li><strong>Inquiry Management<\/strong>: Customizable inquiry buttons with AI-powered customer service integration<\/li>\n<li><strong>SEO Optimization<\/strong>: Built-in meta fields for better search engine visibility<\/li>\n<\/ul>\n\n<h3>\ud83c\udfa8 Frontend Display<\/h3>\n\n<ul>\n<li><strong>Beautiful Archive Pages<\/strong>: Grid layouts with responsive design<\/li>\n<li><strong>Detailed Product Pages<\/strong>: Comprehensive product information with image galleries<\/li>\n<li><strong>Category &amp; Tag Pages<\/strong>: Organized browsing experience<\/li>\n<li><strong>Powerful Shortcodes<\/strong>: <code>[naibabiji_b2b_products]<\/code> and <code>[naibabiji_b2b_product_categories]<\/code> for flexible display<\/li>\n<li><strong>Sidebar Widgets<\/strong>: Add product showcases to any sidebar with automatic CSS loading<\/li>\n<\/ul>\n\n<h3>\u2699\ufe0f Admin Dashboard<\/h3>\n\n<ul>\n<li><strong>Intuitive Interface<\/strong>: Clean, organized settings with tab-based navigation<\/li>\n<li><strong>Visual Shortcode Generator<\/strong>: Create custom product displays with real-time preview<\/li>\n<li><strong>SEO Content Management<\/strong>: Customize top and bottom content for archive, category, and tag pages<\/li>\n<li><strong>Customizable Styles<\/strong>: Button colors, layout options, and display controls<\/li>\n<\/ul>\n\n<h3>\ud83d\udd27 Developer Friendly<\/h3>\n\n<ul>\n<li><strong>Rich Hooks &amp; Filters<\/strong>: Extensive customization options<\/li>\n<li><strong>Template Override Support<\/strong>: Easy integration with any WordPress theme<\/li>\n<li><strong>AJAX Interfaces<\/strong>: Modern, interactive functionality<\/li>\n<li><strong>Clean Code Structure<\/strong>: Well-documented, maintainable codebase<\/li>\n<li><strong>Enterprise Architecture<\/strong>: Model-driven design for scalability<\/li>\n<\/ul>\n\n<p><strong>\ud83c\udfaf Who This Plugin Is For<\/strong><\/p>\n\n<p>B2B Product Catalog is perfect for:\n- <strong>Manufacturers<\/strong> \u2014 Showcase production lines with multi-specs selection and collect RFQs from global buyers\n- <strong>Exporters &amp; Trading Companies<\/strong> \u2014 Display products in multiple languages, capture inquiries from international markets\n- <strong>Distributors &amp; Wholesalers<\/strong> \u2014 Present product ranges to retailers and partners without exposing pricing logic\n- <strong>Industrial Suppliers<\/strong> \u2014 List hardware, components, or standard parts with model codes and quantity selection tables\n- <strong>Service Providers<\/strong> \u2014 Highlight service offerings with detailed profiles and custom inquiry forms\n- <strong>Corporate Websites<\/strong> \u2014 Create professional product galleries without e-commerce overhead, payment gateways, or cart abandonment\n- <strong>Developers<\/strong> \u2014 Extend functionality with rich hooks, template overrides, and clean model-driven architecture<\/p>\n\n<p><strong>\ud83d\udca1 Common Use Cases<\/strong><\/p>\n\n<ol>\n<li><strong>Replace WooCommerce Catalogs<\/strong> \u2014 Already using WooCommerce just for product display? Switch to a lightweight catalog without cart\/checkout bloat<\/li>\n<li><strong>Global RFQ &amp; Lead Generation<\/strong> \u2014 Capture structured quote requests from international buyers with multilingual forms and product specs<\/li>\n<li><strong>Multi-Specs Product Catalogs<\/strong> \u2014 Display products with variants (sizes, models, grades) in an interactive selection table with bulk inquiry cart<\/li>\n<li><strong>Trade Show &amp; Virtual Exhibits<\/strong> \u2014 Launch product showcases online for virtual trade shows and international exhibitions<\/li>\n<li><strong>Partner &amp; Dealer Portals<\/strong> \u2014 Share product information with authorized partners and distributors via password-protected pages<\/li>\n<li><strong>Sales Team Enablement<\/strong> \u2014 Give sales teams an always-up-to-date product catalog with built-in inquiry tracking and lead management<\/li>\n<\/ol>\n\n<h3>Support<\/h3>\n\n<p>For technical support, please visit the plugin's page or WordPress.org support forum.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is released under the GPL v2 or later license.<\/p>\n\n<!--section=installation-->\n<p><strong>\ud83d\ude80 Quick Start Guide<\/strong><\/p>\n\n<ol>\n<li><strong>Upload &amp; Activate<\/strong>: Install the plugin through WordPress admin or upload files to <code>\/wp-content\/plugins\/naibabiji-b2b-product-showcase\/<\/code><\/li>\n<li><strong>Configure Settings<\/strong>: Go to <code>Settings -&gt; Product Showcase<\/code> to customize your display options<\/li>\n<li><strong>Add Products<\/strong>: Create new products using the custom \"Products\" post type<\/li>\n<li><strong>Display Products<\/strong>: Use shortcodes or widgets to showcase products on your site<\/li>\n<li><strong>Optimize SEO<\/strong>: Add custom content to archive, category, and tag pages for better search rankings<\/li>\n<\/ol>\n\n<p><strong>\ud83d\udca1 Pro Tip<\/strong>: Use the visual shortcode generator in the admin dashboard to create beautiful product displays with real-time preview!<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20support%20shopping%20cart%20functionality%3F\"><h3>Does this plugin support shopping cart functionality?<\/h3><\/dt>\n<dd><p>No. This plugin is designed for B2B businesses, focusing on product display and inquiry functionality, without e-commerce features like shopping carts or payments.<\/p><\/dd>\n<dt id=\"how%20can%20i%20customize%20product%20templates%3F\"><h3>How can I customize product templates?<\/h3><\/dt>\n<dd><p>You can create the following template files in your theme directory to override the default templates:\n- <code>single-naibb2pr_products.php<\/code> - Single product page\n- <code>archive-naibb2pr_products.php<\/code> - Product archive page\n- <code>taxonomy-naibb2pr_product_category.php<\/code> - Product category page\n- <code>taxonomy-naibb2pr_product_tag.php<\/code> - Product tag page<\/p><\/dd>\n<dt id=\"what%20shortcodes%20are%20supported%3F\"><h3>What shortcodes are supported?<\/h3><\/dt>\n<dd><p>The plugin provides the following shortcodes:\n- <code>[naibabiji_b2b_products]<\/code> - Display product grid\n- <code>[naibabiji_b2b_product_categories]<\/code> - Display product categories\n- <code>[naibabiji_b2b_contact_form]<\/code> - Display an inline contact form for collecting messages<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20sidebar%20widgets%3F\"><h3>Does the plugin support sidebar widgets?<\/h3><\/dt>\n<dd><p>Yes! You can use the plugin's shortcodes in any text widget with the following features:<\/p>\n\n<p><strong>Key Features:<\/strong>\n* <strong>Smart Style Loading<\/strong> - Automatically detects shortcodes in sidebar and loads CSS styles only when needed\n* <strong>Flexible Configuration<\/strong> - Supports product count, column layout, category filtering and other parameter settings\n* <strong>Responsive Design<\/strong> - Automatically adjusts to single column layout on mobile devices\n* <strong>Theme Compatibility<\/strong> - Works seamlessly with most WordPress themes<\/p>\n\n<p><strong>Usage Steps:<\/strong>\n1. Go to WordPress admin <code>Appearance \u2192 Widgets<\/code>\n2. Add a \"Text\" widget to your sidebar\n3. Paste the product shortcode into the text widget\n4. Customize the shortcode parameters as needed\n5. Save settings<\/p>\n\n<p><strong>Recommended Configuration:<\/strong>\n* For sidebars: <code>[naibabiji_b2b_products limit=\"3\" columns=\"1\" show_category=\"false\" show_excerpt=\"false\"]<\/code>\n* This configuration works well in sidebar spaces, showing 3 products in a single column layout without categories or excerpts<\/p><\/dd>\n<dt id=\"why%20don%27t%20product%20styles%20work%20in%20the%20sidebar%3F\"><h3>Why don't product styles work in the sidebar?<\/h3><\/dt>\n<dd><p>This issue has been fixed in v1.0.13. If you still encounter style problems, please try:<\/p>\n\n<ol>\n<li><strong>Clear Cache<\/strong> - If using a cache plugin, clear all caches<\/li>\n<li><strong>Refresh Page<\/strong> - Use Ctrl+F5 to force refresh the browser<\/li>\n<li><strong>Check Widget Configuration<\/strong> - Ensure the widget is properly saved<\/li>\n<li><strong>Theme Compatibility<\/strong> - Some themes may require additional CSS adjustments<\/li>\n<\/ol>\n\n<p>If the problem persists, please contact technical support and provide the theme name for further troubleshooting.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20bulk%20%28multi-spec%29%20inquiry%20for%20a%20product%3F\"><h3>How do I set up bulk (multi-spec) inquiry for a product?<\/h3><\/dt>\n<dd><ol>\n<li>Edit the product and set <strong>Inquiry Type<\/strong> to <strong>Bulk<\/strong>.<\/li>\n<li>In the <strong>Specs Management<\/strong> meta box, add at least two model codes with descriptions. You can also import via CSV (first row: \"Model Code,Spec Description\", max 1000 rows).<\/li>\n<li>Save the product. On the frontend, visitors will see a specs selection table where they can add items to an inquiry cart and submit a combined batch inquiry.<\/li>\n<\/ol><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20inquiry%20mode%20and%20inquiry%20type%3F\"><h3>What is the difference between Inquiry Mode and Inquiry Type?<\/h3><\/dt>\n<dd><p><strong>Inquiry Type<\/strong> is set per product (None \/ Standard \/ Bulk) and defines what kind of inquiry experience that single product offers. <strong>Inquiry Mode<\/strong> is a site-wide setting (External Link or Built-in Form) that only affects Standard-type products \u2014 it controls whether the inquiry button links to an external URL or opens a popup. Bulk-type products always use the built-in bulk inquiry form regardless of this setting.<\/p><\/dd>\n<dt id=\"why%20do%20i%20see%20%22too%20many%20submissions%22%20when%20testing%20bulk%20inquiry%3F\"><h3>Why do I see \"Too many submissions\" when testing bulk inquiry?<\/h3><\/dt>\n<dd><p>The plugin enforces a rate limit of 3 submissions per IP address within 5 minutes to prevent spam. If you need to test frequently or want a higher threshold, install a captcha plugin that integrates through the <code>naibabiji_contact_form_validate<\/code> filter.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>5.1.5<\/h4>\n\n<ul>\n<li><strong>New<\/strong>: Table layout display mode \u2014 products displayed as a compact data table with customizable columns (image, SKU, excerpt, action buttons), ideal for industries with many models like PCB, electronic components, and machinery.<\/li>\n<li><strong>New<\/strong>: Help page tabbed navigation \u2014 reorganized into 4 tabs (Quick Start, General Help, Template Override, Bug Report) for easier browsing and cleaner layout.<\/li>\n<li><strong>New<\/strong>: Style Override help card \u2014 documents all Table layout CSS class names so users can easily add custom CSS to match their theme.<\/li>\n<li><strong>Improved<\/strong>: Help page grid layout \u2014 increased minimum card width to 400px, preventing cramped 4-column layouts on wide screens.<\/li>\n<li><strong>Improved<\/strong>: Template Override help card now lists all partial templates including the new Table row template.<\/li>\n<\/ul>\n\n<h4>5.1.4<\/h4>\n\n<ul>\n<li><strong>New<\/strong>: Getting Started guide on Help page \u2014 5-step tutorial walks new users through setup: appearance settings, inquiry mode, product categories, publishing products (with visual guide), and navigation menus.<\/li>\n<li><strong>New<\/strong>: Auto-redirect to Help page on first plugin activation, so new users land directly on the setup guide.<\/li>\n<li><strong>New<\/strong>: uninstall.php \u2014 clean removal of custom database tables, plugin options, and transients when the plugin is deleted.<\/li>\n<li><strong>Improved<\/strong>: Unified all $_POST access through Security::get_post_data() in Leads Handler for consistent input sanitization.<\/li>\n<li><strong>Improved<\/strong>: Moved inline admin scripts to admin.js for cleaner separation of PHP and JavaScript.<\/li>\n<li><strong>Fixed<\/strong>: PHPCS warnings in uninstall.php (variable prefixes, direct DB annotations), mixed line endings in class-frontend-display.php, and post__not_in annotation in product template.<\/li>\n<\/ul>\n\n<h4>5.1.3<\/h4>\n\n<ul>\n<li><strong>Security<\/strong>: Added server-side validation (name, email, message) for inquiry and contact forms to prevent empty submissions.<\/li>\n<li><strong>Security<\/strong>: Added IP-based rate limiting to all form submission endpoints (5 submissions per 5 minutes for standard forms, 3 per 5 minutes for bulk inquiry).<\/li>\n<li><strong>Security<\/strong>: Added JS escaping for chat history and contact info in admin leads detail modal to prevent XSS.<\/li>\n<li><strong>Security<\/strong>: Sanitized CSS values (colors, border-radius, float offset) before inline output to prevent CSS injection.<\/li>\n<li><strong>Fixed<\/strong>: Nonce refresh in frontend AJAX retry logic now correctly reads the nonce from the response object.<\/li>\n<li><strong>Fixed<\/strong>: Lead list cache key now includes the source filter, preventing incorrect cache hits when switching filter tabs.<\/li>\n<li><strong>Improved<\/strong>: Frontend now sends structured fields (name, email, company, etc.) alongside contact info for more reliable backend processing.<\/li>\n<li><strong>Improved<\/strong>: Database upgrade routine now independently checks and adds missing columns and indexes.<\/li>\n<li><strong>Improved<\/strong>: Removed debug console.log statements from production JavaScript files.<\/li>\n<\/ul>\n\n<h4>5.1.2<\/h4>\n\n<ul>\n<li><strong>Fixed<\/strong>: Related products on single product pages now correctly exclude the current product from the random query via <code>post__not_in<\/code>, preventing the displayed count from dropping below the expected 4 when the current product appears in the random results.<\/li>\n<li><strong>New Hook<\/strong>: <code>naibabiji_b2b_product_after_related_products<\/code> \u2014 fires after the related products section on single product pages, allowing custom content injection below the related products grid.<\/li>\n<\/ul>\n\n<h4>5.1.1<\/h4>\n\n<ul>\n<li><strong>Fixed<\/strong>: Plugin action links \"Settings\" URL now correctly points to the new B2B Showcase \u2192 Settings page instead of the old options-general.php URL.<\/li>\n<li><strong>Fixed<\/strong>: Categories-only archive display mode no longer limits taxonomy (category\/tag) pages to a single product; the limit now correctly applies only to the main archive page.<\/li>\n<\/ul>\n\n<h4>5.1.0<\/h4>\n\n<ul>\n<li><strong>New Feature: Archive Display Mode<\/strong> \u2014 Choose between default (filters + products), categories-only (category card grid), or products-only on the archive page.<\/li>\n<li><strong>New Feature: Category Images<\/strong> \u2014 Upload a category image via the term editor; displayed as cards in categories-only archive mode.<\/li>\n<li><strong>New Feature: Default Product Sorting<\/strong> \u2014 Set a default sort order (newest, oldest, title A-Z, title Z-A) for all product listing pages from the settings.<\/li>\n<li><strong>Improved: Category Button Styles<\/strong> \u2014 Archive and category page category navigation now uses consistent button styling with product counts.<\/li>\n<li><strong>Improved: Container Width CSS<\/strong> \u2014 Added <code>width: 100%<\/code> and <code>box-sizing: border-box<\/code> to archive\/taxonomy containers for more predictable cross-theme width behavior.<\/li>\n<\/ul>\n\n<h4>5.0.2<\/h4>\n\n<ul>\n<li><strong>New Feature<\/strong>: Post-submission redirect \u2014 optionally redirect users to a custom thank-you page after successful inquiry\/contact\/bulk form submission, enabling Google Ads conversion tracking.<\/li>\n<li><strong>New Setting<\/strong>: \"Redirect After Submission\" toggle and \"Redirect URL\" field added to Settings \u2192 Inquiry tab (visible when Built-in Form mode is active).<\/li>\n<li><strong>Improved<\/strong>: Redirect URL supports both absolute URLs and relative paths (e.g. <code>\/thank-you<\/code>).<\/li>\n<\/ul>\n\n<h4>5.0.1<\/h4>\n\n<ul>\n<li><strong>Fixed<\/strong>: Product gallery thumbnails now display as uniform squares with consistent borders across all themes, eliminating misalignment and height variance issues caused by theme-specific image sizes and aspect ratios.<\/li>\n<\/ul>\n\n<h4>5.0.0<\/h4>\n\n<ul>\n<li><strong>New Feature: Bulk Inquiry Mode<\/strong> \u2014 Products can now offer a multi-specs selection table (e.g. model codes, sizes, variants) so B2B buyers add multiple SKUs with quantities to an inquiry cart and submit one combined quote request.<\/li>\n<li><strong>New Feature: Inquiry Cart<\/strong> \u2014 Persistent localStorage-based cart with floating sidebar, quantity editing, and per-spec removal. Customers browse across products and submit all at once.<\/li>\n<li><strong>New Feature: Specs Management<\/strong> \u2014 Admin meta box for managing product specifications (code + description), including drag-and-drop sorting, CSV bulk import\/export, and duplicate detection.<\/li>\n<li><strong>New: Three-Mode Inquiry System<\/strong> \u2014 Each product now supports None \/ Standard \/ Bulk inquiry type via radio toggle, replacing the old binary checkbox.<\/li>\n<li><strong>New: Job Title Field<\/strong> \u2014 Added Job Title to inquiry form fields (configurable in settings, synced across bulk\/standard\/contact forms).<\/li>\n<li><strong>New: AJAX Lead Detail<\/strong> \u2014 Admin leads list now loads bulk inquiry details on demand via <code>naib_get_lead_detail<\/code> endpoint, avoiding large JSON in HTML data attributes.<\/li>\n<li><strong>New: Database Upgrade<\/strong> \u2014 Version-controlled schema migration adds <code>inquiry_type<\/code> and <code>inquiry_data<\/code> columns to the leads table with idempotent checks.<\/li>\n<li><strong>New: Theme Compatibility Detection<\/strong> \u2014 Automatically checks if the active Linghang theme meets minimum version requirements and displays a non-dismissible admin notice when outdated, preventing template-level fatal errors from version mismatches.<\/li>\n<li><strong>Improved<\/strong>: Enhanced form field sanitization (CSV content, bulk specs JSON, lead_id validation) to meet WordPress Plugin Check standards.<\/li>\n<li><strong>Improved<\/strong>: Bulk inquiry JS now loads on all frontend pages instead of only bulk-type product pages, ensuring the inquiry form modal and hash-based navigation always work.<\/li>\n<li><strong>Improved<\/strong>: Bulk inquiry form modal correctly applies <code>.active<\/code> CSS class on overlay\/panel for compatibility with plugin's shared Glassmorphism style system.<\/li>\n<li><strong>Fixed<\/strong>: Inquiry Note (textarea) now spans full width in the 2-column form grid via <code>naib-field-full<\/code> class.<\/li>\n<li><strong>Fixed<\/strong>: Cart sidebar \"Submit Inquiry\" button handler rewritten from fragile inline onclick to robust DOM event listener with graceful fallback chain.<\/li>\n<li><strong>Fixed<\/strong>: Inquiry Mode settings (Built-in Form vs External Link) \u2014 Form Fields and Success Message rows are now fully hidden (including their <code>&lt;tr&gt;<\/code> label headers) when External Link mode is selected, eliminating orphaned section titles on the settings page.<\/li>\n<\/ul>\n\n<h4>4.2.1<\/h4>\n\n<ul>\n<li><strong>Improved<\/strong>: Changed product tag URL slug from <code>naibb2pr-product-tag<\/code> to <code>product-tag<\/code> for cleaner, more SEO-friendly URLs.<\/li>\n<li><strong>New Feature<\/strong>: Added Template Override guide to the Help tab, documenting page templates and partial template overrides.<\/li>\n<\/ul>\n\n<h4>4.2.0<\/h4>\n\n<ul>\n<li><strong>New Feature<\/strong>: Inline contact form shortcode <code>[naibabiji_b2b_contact_form]<\/code> \u2014 embed a standalone contact form on any page without product association.<\/li>\n<li><strong>New Feature<\/strong>: Contact form email notifications display page title instead of product name.<\/li>\n<li><strong>New Feature<\/strong>: <code>Contact Form<\/code> source filter in Customer Inquiries admin list.<\/li>\n<li><strong>New Feature<\/strong>: Captcha extension hooks (<code>naibabiji_contact_form_validate<\/code> filter, <code>naibabiji_contact_form_before_submit<\/code> action).<\/li>\n<li><strong>Improved<\/strong>: Customer Inquiries admin page fully redesigned to support all source types (AI Chat, Inquiry Form, Contact Form).<\/li>\n<li><strong>Improved<\/strong>: Inquiries list now shows Context column (page title for contact forms, product link for others), parsed contact names, and 30-word message preview.<\/li>\n<li><strong>Improved<\/strong>: Detail modal for form submission inquiries with full contact info, message, and context display.<\/li>\n<li><strong>Improved<\/strong>: Email validation on contact form (client-side regex check).<\/li>\n<li><strong>Improved<\/strong>: Automatic nonce refresh for cached pages \u2014 contact form resubmits transparently on nonce expiry.<\/li>\n<\/ul>\n\n<h4>4.1.0<\/h4>\n\n<ul>\n<li><strong>New Feature<\/strong>: Built-in Inquiry Form Mode with unified design.<\/li>\n<li><strong>New Feature<\/strong>: Premium UI System featuring Glassmorphism and responsive 2-column layout.<\/li>\n<li><strong>New Feature<\/strong>: Intelligent AI Fallback system that automatically switches to the inquiry form on technical errors.<\/li>\n<li><strong>Improved<\/strong>: Standardized form controls across all plugin components.<\/li>\n<li><strong>Improved<\/strong>: Optimized database query security and satisfied WordPress coding standards.<\/li>\n<li><strong>Fixed<\/strong>: Resolved various output escaping and linting warnings in templates and settings.<\/li>\n<\/ul>\n\n<h4>4.0.1<\/h4>\n\n<ul>\n<li><strong>Fixed<\/strong>: Action hook callback issue in <code>class-leads-handler.php<\/code> - added <code>run_cleanup_for_cron()<\/code> wrapper method to prevent return values in cron callbacks.<\/li>\n<li><strong>Improved<\/strong>: Code quality validated with PHPStan Level 3 static analysis.<\/li>\n<li><strong>Changed<\/strong>: Plugin name updated to comply with WordPress.org repository guidelines (removed \"Plugin\" from name).<\/li>\n<\/ul>\n\n<h4>4.0.0<\/h4>\n\n<ul>\n<li><strong>New Feature: Industrial AI Support<\/strong>: Integrated AI customer service system with SPEC v2 protocol for automated inquiry handling.<\/li>\n<li><strong>New Feature: Archive Page SEO Content<\/strong>: Added ability to add custom content to the top and bottom of product archive\/category\/tag pages.<\/li>\n<li><strong>New Option: Hide Title<\/strong>: Added option to hide default titles on archive, category, and tag pages for flexible header design.<\/li>\n<li><strong>Improved: Settings Page Layout<\/strong>: Reorganized settings page with tab-based navigation for better user experience.<\/li>\n<li><strong>AI Context Awareness<\/strong>: Automatic product data extraction (SKU, Price, Description) for precise AI responses.<\/li>\n<li><strong>Shortcode Generator<\/strong>: Visual tool in admin dashboard for easy shortcode creation with real-time preview.<\/li>\n<li><strong>CSS Variable Optimization<\/strong>: Enhanced <code>:root<\/code> CSS variables for better theme synchronization.<\/li>\n<li><strong>Production Security<\/strong>: Enhanced all AJAX and save operations with strict nonce verification.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Simplified: Removed the confusing \"Enable Inquiry Button Globally\" switch from the settings page.<\/li>\n<li>Improved: Inquiry button logic now defaults to \"Enabled\" for all products unless explicitly disabled individually.<\/li>\n<li>Fixed: Resolved a bug where the inquiry button was not checked by default when publishing new products.<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Fixed: Short description content with inline HTML elements (e.g. <code>&lt;strong&gt;<\/code>) was rendered on a single line instead of separate paragraphs due to <code>wpautop()<\/code> not handling single line breaks between inline elements correctly.<\/li>\n<li>Improved: Line endings are now normalized and single newlines are converted to double newlines before <code>wpautop()<\/code> processing, ensuring each line gets its own <code>&lt;p&gt;<\/code> tag.<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Fixed: Resolved Google Structured Data \"Missing price\" and \"Missing SKU\" errors by adding an optional price field and optimizing JSON-LD generation.<\/li>\n<li>Improved: Schema.org \"Offer\" data is now only generated if a price is specified, ensuring B2B compatibility.<\/li>\n<li>Improved: Enhanced the description in the admin settings for Schema.org markup with important usage tips.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li><strong>Major Architectural Rebirth<\/strong>: Transitioned to a professional model-driven architecture for enterprise-grade scalability.<\/li>\n<li><strong>New Product Model<\/strong>: Centralized all data access through the <code>Naibabiji_B2B_Product<\/code> class, ensuring consistent logic and cleaner templates.<\/li>\n<li><strong>Efficient Grouped Meta<\/strong>: All product-specific metadata is now stored in a single, high-performance array, reducing database bloat.<\/li>\n<li><strong>One-Click Migration Tool<\/strong>: Added an automated utility in the settings page to safely upgrade legacy product data to the new v3.0.0 format.<\/li>\n<li><strong>Shortcode Generator<\/strong>: Introduced a brand new visual tool in the admin dashboard for easy shortcode creation with real-time preview.<\/li>\n<li><strong>Production Security<\/strong>: Enhanced all internal AJAX and save operations with strict nonce verification and context-aware escaping.<\/li>\n<li><strong>Modular SEO<\/strong>: Decoupled Schema.org logic into a standalone builder for improved rich result precision.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Added smooth transition animation when switching product detail page images<\/li>\n<li>Added loading spinner animation during image switch, with color synced to admin button color setting<\/li>\n<li>Added opacity transition effect during image loading for better user experience<\/li>\n<li>Thumbnail active border color now follows the admin button color setting<\/li>\n<li>Added language file direct access protection for zh_CN translation<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Changed subcategory display from vertical list to horizontal buttons for better visual balance<\/li>\n<li>Synchronized subcategory button styles with global plugin button settings (colors, hover effects, border radius)<\/li>\n<li>Improved responsive layout for subcategory navigation on mobile devices<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed button color settings not taking effect due to CSS specificity conflicts with themes<\/li>\n<li>Changed CSS <code>background<\/code> shorthand to <code>background-color<\/code> to allow dynamic inline styles to override defaults<\/li>\n<li>Added product card hover border color to follow the admin button color setting<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li><strong>Major Feature Update<\/strong>: Separated SEO content area into independent top and bottom sections<\/li>\n<li>Added ability to set different SEO content for page top and bottom positions<\/li>\n<li>Each position has independent enable\/disable toggle<\/li>\n<li>Automatic data migration from old single content field to new dual-field structure<\/li>\n<li>Improved flexibility and control over category\/tag page SEO optimization<\/li>\n<li>Breaking change: Removed position dropdown, now using separate editors for top\/bottom content<\/li>\n<li>New backend product display column count setting for frontend products<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Fixed foreach() warning error in sidebar widget processing<\/li>\n<li>Added type checking for widget_ids to prevent type mismatch errors<\/li>\n<li>Improved data validation for WordPress sidebar widgets configuration<\/li>\n<li>Enhanced plugin stability and error handling<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Enhanced CSS loading logic with sidebar widget shortcode detection<\/li>\n<li>Fixed CSS styles not working in sidebar widgets<\/li>\n<li>Smart detection of shortcode content on pages, loading CSS resources only when needed<\/li>\n<li>Improved responsive design for better product card display on mobile devices<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Added Elementor shortcode support in SEO content area<\/li>\n<li>Standardized function and variable prefixes to comply with WordPress plugin best development practices<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Added toggle to enable\/disable product meta information display<\/li>\n<li>Improved translations and updated localization files<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Added button color customization entry for front and back, managers can quickly adjust styles to match brand vision<\/li>\n<li>Replace the product short description with the fill-in area, use a rich text editor to optimize the input experience and improve Gutenberg compatibility<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Changed product category URL slug from 'naibb2pr-product-category' to 'product-category'<\/li>\n<li>Improved URL structure for better SEO and user experience<\/li>\n<li>Note: After updating, please deactivate and reactivate the plugin or visit Settings &gt; Permalinks and save to refresh rewrite rules<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Changed product archive page URL from 'naibb2pr-products' to 'products'<\/li>\n<li>Fixed PHP syntax error in admin settings page<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fixed an issue with WordPress official review feedback<\/li>\n<li>Optimized internal connection styles and script loading to comply with WordPress best practices<\/li>\n<li>Improved sanitize_callback parameter configuration of register_setting () function<\/li>\n<li>Make sure all custom article types and taxonomies are named with unique prefixes<\/li>\n<li>Removed the direct &lt; style &gt; and &lt; script &gt; tags and replaced them with wp_add_inline_style () and wp_add_inline_script () functions<\/li>\n<li>Enhanced code security and WordPress compatibility<\/li>\n<li>Fixed a PHP syntax error<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Optimize the display of search results page<\/li>\n<li>Removed deprecated load_plugin_textdomain() function call for WordPress 4.6+ compatibility<\/li>\n<li>Enhanced security with improved nonce verification in form processing<\/li>\n<li>Fixed input sanitization in POST and GET request handlers<\/li>\n<li>Improved security logging mechanism to follow WordPress best practices<\/li>\n<li>Replaced direct database query with WordPress API functions in meta fields handling<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Enhanced security in AJAX handlers<\/li>\n<li>Improved nonce verification and input sanitization<\/li>\n<li>Added recursive array sanitization<\/li>\n<li>Added GET parameter sanitization method<\/li>\n<li>Fixed permission checks in admin functions<\/li>\n<li>Improved security event logging<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Front-end display bug fixes<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Multi-language support<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Modify the code to meet the requirements for submitting to the official WordPress repository<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Basic product showcase functionality<\/li>\n<li>Custom post types and taxonomies<\/li>\n<li>Frontend templates and shortcodes<\/li>\n<li>Admin dashboard settings page<\/li>\n<li>AJAX functionality support<\/li>\n<li>Developer hook system<\/li>\n<\/ul>","raw_excerpt":"Lightweight B2B product catalog without e-commerce. Showcase products, collect global RFQs and bulk quotes with multilingual support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/247235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=247235"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/naibabiji"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=247235"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=247235"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=247235"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=247235"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=247235"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=247235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}