Title: PartSyncer Recently Viewed Products
Author: Part Syncer
Published: <strong>September 22, 2026</strong>
Last modified: September 22, 2026

---

Search plugins

![](https://ps.w.org/partsyncer-recently-viewed-products/assets/banner-772x250.png?
rev=3707105)

![](https://ps.w.org/partsyncer-recently-viewed-products/assets/icon-256x256.png?
rev=3707105)

# PartSyncer Recently Viewed Products

 By [Part Syncer](https://profiles.wordpress.org/partsyncer/)

[Download](https://downloads.wordpress.org/plugin/partsyncer-recently-viewed-products.1.7.1.zip)

 * [Details](https://wordpress.org/plugins/partsyncer-recently-viewed-products/#description)
 * [Reviews](https://wordpress.org/plugins/partsyncer-recently-viewed-products/#reviews)
 *  [Installation](https://wordpress.org/plugins/partsyncer-recently-viewed-products/#installation)
 * [Development](https://wordpress.org/plugins/partsyncer-recently-viewed-products/#developers)

 [Support](https://wordpress.org/support/plugin/partsyncer-recently-viewed-products/)

## Description

PartSyncer Recently Viewed remembers the products a visitor has looked at and shows
them a strip of thumbnails to jump back to. The history is stored in the visitor’s
own browser (localStorage) — no cookies, no accounts, no server-side data — so it
works behind a full-page cache.

**What you get**

 * A “Recently viewed” strip auto-placed on the single product page.
 * A `[partsyncer_recently_viewed]` shortcode, a _Recently Viewed_ block, a classic
   widget, and an Elementor widget — use whichever fits your page.
 * Carousel, grid or list layout, with a choice of sort order (recent, newest, random,
   or price).
 * Optional “Add to cart” button and live stock availability on each item, plus 
   an individual remove button.
 * Configurable heading and history length.

**Theme-agnostic**

The plugin renders its own markup and stylesheet, so it works with any WooCommerce-
compatible theme. Every colour/size is a `--psrv-*` CSS variable a theme can override.

**Privacy**

No cookies. No accounts. No server-side storage. Nothing leaves the browser.

### Privacy

This plugin does not collect, store, or transmit any personal data on the server.
Each visitor’s browsing history is kept entirely in their own browser (localStorage),
never sent to the site or any third party, and works without cookies. Uninstalling
the plugin removes its one settings option; it holds no visitor data to erase.

### Trademarks

WooCommerce is a registered trademark of Automattic Inc. This plugin is not affiliated
with, endorsed by, or sponsored by Automattic or WooCommerce.

## Screenshots

[⌊The recently-viewed strip on a product page.⌉⌊The recently-viewed strip on a product
page.⌉[

The recently-viewed strip on a product page.

[⌊Settings.⌉⌊Settings.⌉[

Settings.

[⌊The floating corner button's popup panel.⌉⌊The floating corner button's popup 
panel.⌉[

The floating corner button’s popup panel.

## Installation

 1. Install and activate WooCommerce.
 2. Upload the plugin and activate it.
 3. The strip appears on product pages automatically. Adjust the heading and length
    at **WooCommerce  PartSyncer Recently Viewed**.
 4. To place it elsewhere, add `[partsyncer_recently_viewed]` or the _Recently Viewed_
    block.

## FAQ

### Does it use cookies?

No. It uses `localStorage`, so it needs no cookie notice and is safe with page caching.

### Does WooCommerce not already have this?

WooCommerce ships a cookie-based “Recently Viewed Products” widget. This plugin 
is cookieless (localStorage), which is friendlier to page caches and privacy rules,
and adds a shortcode, a block and an auto-placed product-page strip.

### How do I restyle it?

Override the `--psrv-*` CSS variables or target the `.psrv*` classes.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“PartSyncer Recently Viewed Products” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Part Syncer ](https://profiles.wordpress.org/partsyncer/)

[Translate “PartSyncer Recently Viewed Products” into your language.](https://translate.wordpress.org/projects/wp-plugins/partsyncer-recently-viewed-products)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/partsyncer-recently-viewed-products/),
check out the [SVN repository](https://plugins.svn.wordpress.org/partsyncer-recently-viewed-products/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/partsyncer-recently-viewed-products/)
by [RSS](https://plugins.trac.wordpress.org/log/partsyncer-recently-viewed-products/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.7.1

 * Internal cleanup: no functional changes. Author/branding fields updated, and 
   readme now documents this plugin’s privacy stance (no server-side data collection)
   and the WooCommerce trademark notice.

#### 1.7.0

 * New “Category filtering” setting: on a product category page, only show recently-
   viewed items that belong to that category or one of its parent categories (e.
   g. only recently-viewed Transmission parts show on the Transmission category 
   page). Off by default; only applies to items recorded while it’s turned on.

#### 1.6.2

 * Fixed: clicking “Add to cart” a second time on a low-stock item (e.g. only 1 
   available) could fail and redirect to the product page with an error, because
   WooCommerce only reduces its displayed stock count at checkout, not at add-to-
   cart — so the button still looked available. The button now shows a disabled “
   Added” state after a successful add instead of staying clickable.
 * Live stock/price data is no longer served from a stale cache immediately after
   an add-to-cart, so any real change (another shopper buying the last unit, a stock
   update) shows up right away.

#### 1.6.1

 * The “Add to cart” button now uses a 5px corner radius (was a full pill) and always
   defaults to white text for better contrast on a coloured background.

#### 1.6.0

 * Redesigned each item’s layout: image, title, SKU/part number, price and a colour-
   coded stock badge (amber when low, green otherwise, threshold from WooCommerce’s
   own “notify at” stock setting) are now laid out cleanly side by side — no more
   crowding.
 * The “Add to cart” button is now a pill with a small cart icon, and shorter (“
   Add”).
 * The popup panel header now shows a clock icon and a subtitle (“N parts · saved
   for N days” / “kept until you clear it”).
 * Everything still restyles via `--psrv-*` CSS variables, so a theme can recolour
   it (including a full dark-mode popup, as PartSyncer’s own theme now does) without
   touching the plugin.

#### 1.5.1

 * Fixed the price and stock text overlapping in the list layout and the popup panel—
   each item now uses a small grid (image, title, then price/stock/add-to-cart each
   in their own column) instead of cramming everything into one row.
 * Stock text is now a small coloured badge for better visibility.

#### 1.5.0

 * The floating button can now sit at the top, middle or bottom of its screen edge(
   previously bottom only).
 * An “Add to cart” button on each item (simple, in-stock, purchasable products 
   only — others link to the product page instead), added via AJAX with no page 
   reload.
 * Live stock availability text (e.g. “5 in stock”) on each item, checked against
   the WooCommerce Store API.
 * An individual remove (×) button on every item, with an Undo toast, so a single
   product can be dropped from the history without clearing everything.

#### 1.4.0

 * Elementor widget: “Recently Viewed Products” is now available in the Elementor
   editor, alongside the shortcode and block.
 * List layout option, in addition to carousel and grid.
 * Sort order option: most recent (default), newest first, random, price low-to-
   high, or price high-to-low.
 * Option to exclude free (zero-price) products from being recorded and shown.

#### 1.3.0

 * Optional floating corner button + popup panel (like the familiar “recently viewed”
   bubble pattern), showing the full history with its own Clear/Undo. Position and
   edge offset are configurable, so it won’t collide with a chat or WhatsApp bubble
   from another plugin.
 * The inline strip gains a “View all” link when there are more items than fit inline(
   floating mode only).
 * Classic (non-block) widget added, for older themes and widget areas.
 * Accessibility: the popup panel traps focus while open.
 * Basic RTL groundwork: layout uses flex/grid flow (no hardcoded text direction);
   the floating button’s screen corner is a deliberate position choice and does 
   not flip with text direction, matching how similar corner widgets behave.

#### 1.2.0

 * Cross-tab sync: the strip stays in sync between tabs.
 * “Clear” now shows an Undo toast instead of clearing silently.
 * The out-of-stock check now caches Store API responses for a few minutes (sessionStorage).
 * Developer event: `psrv:product-recorded` (document-level CustomEvent, for analytics
   integrations).

#### 1.1.0

 * Choose where the strip appears: product pages, the cart page (classic or block),
   and/or shop & category pages.
 * Layout option: carousel or a grid with a configurable column count.
 * Option to hide products that are now out of stock (checked against the WooCommerce
   Store API).
 * Optional “forget after N days”, and a “Clear” link on the strip.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.7.1**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [browsing history](https://wordpress.org/plugins/tags/browsing-history/)[recently viewed products](https://wordpress.org/plugins/tags/recently-viewed-products/)
   [recently-viewed](https://wordpress.org/plugins/tags/recently-viewed/)[related products](https://wordpress.org/plugins/tags/related-products/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/partsyncer-recently-viewed-products/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/partsyncer-recently-viewed-products/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/partsyncer-recently-viewed-products/reviews/)

## Contributors

 *   [ Part Syncer ](https://profiles.wordpress.org/partsyncer/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/partsyncer-recently-viewed-products/)