PHPackages                             anttiviljami/woocommerce-clean-orphaned-variations - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. anttiviljami/woocommerce-clean-orphaned-variations

AbandonedWordpress-plugin[Utility &amp; Helpers](/categories/utility)

anttiviljami/woocommerce-clean-orphaned-variations
==================================================

Adds a tool to the WooCommerce tools page, which finds and deletes any Product variations without parents.

1.0(10y ago)9482[1 issues](https://github.com/anttiviljami/woocommerce-clean-orphaned-variations/issues)GPLv3PHP

Since Mar 12Pushed 10y agoCompare

[ Source](https://github.com/anttiviljami/woocommerce-clean-orphaned-variations)[ Packagist](https://packagist.org/packages/anttiviljami/woocommerce-clean-orphaned-variations)[ RSS](/packages/anttiviljami-woocommerce-clean-orphaned-variations/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependenciesVersions (2)Used By (0)

WooCommerce Clean Orphaned Variations
=====================================

[](#woocommerce-clean-orphaned-variations)

[![Latest Stable Version](https://camo.githubusercontent.com/e872cc384cc9e536e6178bccaf10c9bab76837974f39c6c3d50bf18b97777606/68747470733a2f2f706f7365722e707567782e6f72672f616e74746976696c6a616d692f776f6f636f6d6d657263652d636c65616e2d6f727068616e65642d766172696174696f6e732f76657273696f6e)](https://packagist.org/packages/anttiviljami/woocommerce-clean-orphaned-variations) [![Latest Unstable Version](https://camo.githubusercontent.com/5fb997b7344cc10ce1e84b6e280b905f0a9728acc2e112aceba127b05195a097/68747470733a2f2f706f7365722e707567782e6f72672f616e74746976696c6a616d692f776f6f636f6d6d657263652d636c65616e2d6f727068616e65642d766172696174696f6e732f762f756e737461626c65)](//packagist.org/packages/anttiviljami/woocommerce-clean-orphaned-variations) [![Total Downloads](https://camo.githubusercontent.com/3a5b60517acebaeafbeed8ab91c3598b9cd2a51630da06b6d91e040dfd638106/68747470733a2f2f706f7365722e707567782e6f72672f616e74746976696c6a616d692f776f6f636f6d6d657263652d636c65616e2d6f727068616e65642d766172696174696f6e732f646f776e6c6f616473)](https://packagist.org/packages/anttiviljami/woocommerce-clean-orphaned-variations)

Adds a tool to the WooCommerce tools page which finds and deletes any Product variations without parents.

Usage
-----

[](#usage)

1. Navigate to: *WooCommerce &gt; System Status &gt; Tools* (`/wp-admin/admin.php?page=wc-status&tab=tools`)
2. Click the "Clean Orphaned Variations" -button

Screenshots
-----------

[](#screenshots)

[![Clean Orphaned Variations button](/assets/screenshot-1.png)](/assets/screenshot-1.png)

Why?
----

[](#why)

Sometimes, for reasons unknown, WooCommerce will leave orphaned variation products in the database which can cause all sorts of problems.

Most commonly, you would get this error message

```
PHP Fatal error:  Call to a member function get_attributes() on a non-object in /my/wp/root/wp-content/plugins/woocommerce/includes/class-wc-product-variation.php on line 664

```

This small tool is a quick and easy fix for those situations.

Installation
------------

[](#installation)

### The Composer Way (preferred)

[](#the-composer-way-preferred)

Install the plugin via [Composer](https://getcomposer.org/)

```
composer require anttiviljami/woocommerce-clean-orphaned-variations

```

Activate the plugin

```
wp plugin activate woocommerce-clean-orphaned-variations

```

### The Old Fashioned Way

[](#the-old-fashioned-way)

You can also install the plugin by directly uploading the zip file as instructed below:

1. [Download the plugin](https://github.com/anttiviljami/woocommerce-clean-orphaned-variations/archive/master.zip)
2. Upload to the plugin to /wp-content/plugins/ via the WordPress plugin uploader or your preferred method
3. Activate the plugin

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3808d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2b81bf1e9dc460e9577713740162776bbd34ab3db514f31bfae16c3080e540ba?d=identicon)[anttiviljami](/maintainers/anttiviljami)

---

Top Contributors

[![danielvonmitschke](https://avatars.githubusercontent.com/u/1579746?v=4)](https://github.com/danielvonmitschke "danielvonmitschke (1 commits)")

### Embed Badge

![Health badge](/badges/anttiviljami-woocommerce-clean-orphaned-variations/health.svg)

```
[![Health](https://phpackages.com/badges/anttiviljami-woocommerce-clean-orphaned-variations/health.svg)](https://phpackages.com/packages/anttiviljami-woocommerce-clean-orphaned-variations)
```

###  Alternatives

[zero1/module-pagebuilder-web-vitals

Provides functionality to include image dimensions, link labels and lazyload options to image to help improve Google's Web Vitals audits scores

1825.0k](/packages/zero1-module-pagebuilder-web-vitals)[bugloos/fault-tolerance-bundle

Fault Tolerance Bundle

111.1k](/packages/bugloos-fault-tolerance-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
