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)10482[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 4w 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

Popularity16

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

3763d 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

[heimrichhannot/contao-encore-bundle

This bundle brings deep integration for symfony encore into contao. On the one hand, your can prepare your bundles to define own webpack entries, which added with just one command to your webpack entries. On the other hand, this bundle allows you to add encore entries only on the pages you need them for optimizing your website performance.

1016.3k](/packages/heimrichhannot-contao-encore-bundle)

PHPackages © 2026

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