DMZ B2B Product Management

Description

This plugin adds a Products custom post type designed for B2B product pages, with intentionally independent dmzp_ namespacing to avoid conflicts with WooCommerce or other e-commerce plugins.

Features

  • Products custom post type.
  • Product Categories and Product Tags taxonomies.
  • Global product attributes with reusable label, color, and image values.
  • Per-product attribute assignment with sortable display order.
  • Settings page for archive page selection and custom archive/category/tag slugs.
  • Features settings tab with independent switches for Product Content, Gallery, YouTube Video, Summary, Parameters, Product Attributes, and Filter Groups. Disabled modules retain their saved data; disabled Attributes and Filter Groups are removed from the admin menu and Elementor registration.
  • Classic editor support, with Gutenberg disabled for products.
  • Elementor support for editing product content.
  • Product summary rich text field.
  • Sortable parameter repeater (name/value pairs) with add, delete, move up, and move down controls.
  • Native WordPress featured image support.
  • Gallery image field with WordPress media library integration.
  • YouTube product video field with a centered play button on the first gallery image and a responsive video lightbox.
  • Featured image thumbnails in the Products admin list.
  • Elementor dynamic tags for product summary and featured image.
  • Elementor widgets: DMZ Product Gallery, Product Parameters, Product Summary, Product Attributes.
  • Reusable filter groups containing product categories, tags, and global attributes.
  • Elementor Product Filter widget with checkbox, radio, label, and dropdown field types plus vertical, horizontal-flat, and horizontal-all-dropdown layouts, selected filters, result totals, and mobile panels.
  • AJAX filtering for Elementor Loop Grid widgets through Query ID and CSS ID binding, with archive Current Query support and page-reload fallback.
  • Configurable uninstall cleanup; product data is retained by default unless deletion is explicitly enabled.
  • Manual legacy product migration screen with scan, select, migrate, and permanent delete actions.

Usage

  1. Install and activate the plugin.
  2. Navigate to Products in the WordPress admin.
  3. Create reusable label, color, or image values under Products > Attributes.
  4. Add new products with featured image, gallery, optional YouTube video link, summary, parameters, and product attributes.
  5. Use Products > Settings > Features to enable or disable individual product modules, and use the General tab to configure archive/category/tag slugs.
  6. Use the Migration Data settings tab to scan and migrate legacy products when needed.
  7. Enable Elementor support via Elementor > Settings > Post Types.
  8. Use Elementor widgets and dynamic tags to build product pages.
  9. Create reusable filters under Products > Filter Groups and choose a checkbox, radio, label, or dropdown type for each field.
  10. Add the Product Filter widget to an Elementor page or archive template, select a filter group, and enter the target Loop Grid CSS ID.
  11. For an explicit Products query, copy the filter group’s Query ID into the target Loop Grid Query ID field. For an archive Loop Grid using Current Query, the current product/category/tag archive condition is retained automatically.
  12. Use one filter group per target grid. Exact facet counts assume the Loop Grid does not add separate include, exclude, or meta restrictions beyond the product archive/query source.

Installation

  1. Upload the b2b-products folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins menu.
  3. Optionally enable Elementor support under Elementor > Settings > Post Types.

FAQ

Does this plugin conflict with WooCommerce?

No. Internal keys use the dmzp_ prefix (post type, taxonomies, meta fields, CSS classes, and script/style handles) to avoid conflicts with WooCommerce or other e-commerce plugins.

Can I use a custom archive page?

Yes. Go to Products > Settings and select any published page as the archive page.

Which Elementor listing widgets can be filtered?

This release supports the legacy Elementor Loop Grid. Loop Carousel and Infinite Scroll are not included. Numbered pagination is AJAX-aware, and Load More uses a best-effort page fallback when Elementor exposes a next-page URL.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“DMZ B2B Product Management” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.0

  • Added: Global product attribute management with reusable text, color, and image values.
  • Added: Drag-and-drop attribute ordering, multiple value assignment per product, and the Product Attributes Elementor widget.
  • Added: Reusable product filter groups for product categories, tags, and global product attributes.
  • Added: Checkbox, radio button, label, and dropdown filter field types.
  • Added: Vertical, horizontal-flat, and horizontal-all-dropdown Elementor filter layouts.
  • Added: Elementor Loop Grid AJAX filtering with Query ID, CSS ID, archive Current Query, URL history, and pagination fallback support.
  • Added: Product YouTube video links, a gallery-first play button, and a responsive video lightbox.
  • Added: A Features settings tab for independently controlling product content, gallery, video, summary, parameters, product attributes, and filter groups.
  • Fixed: Parent/child ordering and indentation for hierarchical taxonomies in product filters.
  • Fixed: Display inconsistencies when upgrading filter groups created with the previous horizontal layout; legacy settings now map to the horizontal-flat layout.
  • Fixed: Theme hover styles overriding color and image swatch borders.
  • Improved: Responsive filter wrapping, mobile accordion panels, selected filters, result counts, reset controls, and accessible dropdown states.
  • Improved: Single-select attributes can be deselected by clicking again, with normal, hover, and selected border controls.
  • Improved: The attribute management screen now uses a WordPress-style two-column layout with better ordering for attributes, values, and product attribute groups.
  • Improved: Disabled modules retain saved data while their menus, hooks, queries, AJAX endpoints, assets, and Elementor widgets remain inactive.

1.0.4

  • Fixed: Removed the unwanted default white background from the Gallery widget.

1.0.3

  • Fixed: Preserved line breaks and frontend formatting in Product Summary output.
  • Improved: Refined the Gallery widget interaction experience.

1.0.2

  • Fixed: Corrected Gallery widget display issues on mobile devices.

1.0.1

  • Fixed: Corrected an issue where a selected featured image could fail to display.

1.0.0

  • Added: Initial official WordPress.org release.