BACK TO DIRECTORY

Plogins Versus – Product Compare for WooCommerce

by Mariusz Szatkowski

5.0
(1 ratings)

Versus adds a “Compare” button to your WooCommerce shop, archive and single product pages. Shoppers compare products side by side in a WooCommerce comparison table, with product data kept inside your store.

Versus is developed in the open. The code, and a place to report bugs or request features, live at github.com/wppoland/plogins-versus.

The table shows the product image, name, price, SKU, availability and short description, plus a row for every product attribute (colour, size, material and more). Rows whose values differ between products are highlighted, and a single toggle hides everything that is identical so the real differences stand out.

Documentation and links

Built for speed and accessibility

  • No jQuery in the plugin’s own front-end code, the script is vanilla JS, deferred and loaded in the footer.
  • No layout shift (CLS). The comparison table scrolls horizontally inside its own wrapper, so adding columns never reflows the page.
  • Keyboard friendly. The compare buttons are real buttons with aria-pressed state that updates over AJAX.
  • Guests and customers. Logged-out visitors build a comparison stored per browser; logged-in customers get a “Compare” tab in My Account, and a guest list is merged into the account on login.

Settings

A WooCommerce-capability settings page (Versus menu) lets you:

  • Enable or disable comparison and set how many products can be compared at once (2-6).
  • Choose where the compare button appears (loops, single product) and whether guests can use it.
  • Choose which standard fields appear as rows (price, SKU, availability, short description) and whether to include product attributes.
  • Toggle difference highlighting, the “differences only” default, and the image / add-to-cart / remove controls in each column header.
  • Customise the front-end strings, the compare button, remove button, compare link, differences toggle, clear-all button and empty-list message, or leave them on their translated defaults.

Translation ready

All strings are translatable through the versus text domain, and a versus.pot template ships in /languages. Deleting the plugin removes its options and the comparison table.

How it works

Adding or removing a product is a single nonce-verified AJAX request; no full page reload. Guest selections are kept in a per-browser cookie for six months and merged into the account on login. The CSS and JavaScript are enqueued only on pages that actually show the compare button or the table.

Plogins Versus PRO

The free plugin is complete for what it does: a Compare button and a comparison
set, with nothing time-limited and no account to create. Plogins Versus PRO
is a separate add-on that turns that set into a real comparison page:

  • Comparison page shortcode[versus_compare] renders the shopper’s set as a side-by-side table with price, SKU, stock, weight, dimensions, description and every product attribute
  • Configurable rows – choose which rows appear and cap how many products can be compared at once
  • Difference highlighting – mark the rows where compared products actually differ
  • Sticky compare bar – a persistent bar listing the selected products, linking straight to the comparison page
  • Export – download the comparison as CSV or PDF, or print it
  • Category-scoped compare – keep comparisons to like-for-like products

Versus PRO requires the free plugin and does not replace it. If the free plugin
is missing or disabled, PRO stays dormant and says so rather than half-working.

External Services

Versus does not connect to, or send any data to, any external service or third-party server. It bundles no SDK, API client, web font, map tile, CDN asset or analytics call, everything runs on your own site.

Comparison data stays inside your WordPress database: a custom {prefix}versus_compare_items table holds the compared product IDs, the plugin settings live in the versus_settings option (with versus_db_version tracking the schema), and a guest’s selection is kept in a first-party cookie in their own browser. Adding or removing a product is a same-origin AJAX request to your site’s own admin-ajax.php; no outbound HTTP request is ever made. Deleting the plugin removes those options and drops the table.

Translations

Versus is fully translatable and ships the plogins-versus.pot template. Translations are delivered by WordPress.org language packs from translate.wordpress.org, which is where Polish, German and Spanish are being contributed; the package itself carries no compiled translation files.

Screenshots

The side-by-side comparison table with difference highlighting.

The side-by-side comparison table with difference highlighting.

The Versus settings screen.

The Versus settings screen.

Plugin Details

Active Installs
0
Total Downloads
319
Version
1.0.15
Requires WP
6.5
Requires PHP
8.1
Tested Up To
7.1
Added
2026-08-21
Last Updated
2026-09-11 6:53pm GMT

Ratings

5
1
4
0
3
0
2
0
1
0