WP Manifestindependent plugin directory
manifest / content / axle-category-tag-trash

Axle Category & Tag Trash

A trash for WordPress categories, tags and custom terms, with undo and full restore.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/aryanjasala/axle-category-tag-trash/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Axle Category & Tag Trash

Try in WordPress Playground Latest release WordPress 6.6+ PHP 7.4+ License: GPL-2.0-or-later
PHPCS PHPStan Unit tests E2E tests Plugin Check

A trash for WordPress categories, tags and custom terms. Undo a delete in one click, or restore it later with its posts, child terms and menu links.

Axle Category & Tag Trash" width="880">


Posts and pages go to the trash when you delete them. Categories and tags don't: one click and the term is gone, its posts move to Uncategorized, its child categories move up a level and its menu links disappear. Axle Category & Tag Trash keeps every deleted term for 30 days and puts all of that back on restore, under the same ID.

[!NOTE] Free and open source under the GPL. No pro version, no upsells, no ads in wp-admin, no tracking. And it stays that way.

Part of Axle by AryanX, a family of free plugins for running WordPress sites safely.

Features

  • Undo right after a delete, on every term screen, for single and bulk deletes
  • Same ID on restore, so navigation blocks, widgets and shortcodes that store the ID work again
  • Everything comes back: term meta, posts (in the same order), child terms and menu links in their menu position
  • Posts that only got Uncategorized because of the delete lose it again
  • Tools > Axle Category & Tag Trash: taxonomy tabs, search, bulk restore and delete, Empty trash, and what each restore brings back
  • Kept for 7, 30, 90 or 365 days, then a daily task deletes them for good
  • Categories, tags, WooCommerce product categories and attributes, and any custom taxonomy with an admin screen

Install

  1. Download axle-category-tag-trash.zip from the latest release.
  2. In WordPress, go to Plugins > Add New Plugin > Upload Plugin, choose the zip and activate it.

Or with WP-CLI:

wp plugin install https://github.com/aryanjasala/axle-category-tag-trash/releases/latest/download/axle-category-tag-trash.zip --activate

Needs WordPress 6.6+ and PHP 7.4+. To try it first, try.axlewp.com/axle-category-tag-trash opens a private WordPress in your browser with the latest release and some demo content. Nothing to install.

Quick look

Everything on the screen is also on WP-CLI:

wp axle-category-tag-trash list --taxonomy=category
wp axle-category-tag-trash restore 42
wp axle-category-tag-trash delete --all

Screenshots

Undo right after deleting a category
Undo right after deleting a category
Axle Category & Tag Trash">
Tools > Axle Category & Tag Trash
What a restore brings back
What a restore brings back

Documentation

Doc What it covers
Reference Hooks, WP-CLI, the PHP API and what is stored
Development Local setup, commands and tests
Contributing Pull requests, required checks and PR titles
Releasing How merged pull requests become releases
Security Reporting a vulnerability
readme.txt What WordPress.org shows, with the FAQ and changelog

Project structure

axle-category-tag-trash.php           plugin header and PSR-4 autoloader
src/
├── Plugin.php           creates the services
├── Snapshot.php         everything about a term at the moment it was deleted
├── Snapshotter.php      captures terms on pre_delete_term, saves on delete_term
├── Restorer.php         puts a term, its posts, children and menu links back
├── Trash.php            storage (a hidden post type) and queries
├── Purger.php           daily cleanup after the retention period
├── Admin/               trash screen, list table, Undo notices
└── Cli/Command.php      wp axle-category-tag-trash
assets/                  term screen script and styles
tests/
├── Unit/                PHPUnit
└── e2e/                 Playwright specs and the Docker site
.wordpress-org/          screenshots
docs/                    reference, development, contributing, releasing

More free plugins

Small plugins that each fill one gap in WordPress, all free with no pro version. Try them all together at demo.axlewp.com.

Plugin What it does
Page Template Usage See which template every page uses, and fix the pages on a missing template
Axle Staging Guard Stops staging copies from emailing real people or getting indexed
Axle Read-Only Mode Read-only mode for WordPress during migrations and deploys
Axle Block Restore Restore a single block from an old revision, not the whole post
Activity Log with Undo An activity log where every change you can reverse has an Undo button
Agent Governance Hold risky AI agent calls for approval, preview what they change, and roll back a session
Axle AI Guard See and control every AI call your plugins make: cost, data sent, budgets and a kill switch
Axle Config Sync Keep settings in git, diff them against the live site, apply with a preview and undo
Axle Headers Security headers and a Content Security Policy that learns what your site loads, then enforces it with nonces
Axle Leftovers Find what deleted plugins left behind, see who owns it and why, and clean it up with undo
Axle License Tracker See which premium plugins are licensed, which lapsed and stopped getting updates, and what renews when
Axle Review Share drafts through private links and collect outside feedback as block Notes
Axle Runtime Doctor Check OPcache coverage, the object cache, PHP support and limits, cron and more, with the fix for your host
Axle Smoke Test Check key pages after every update or deploy, see what broke and roll it back
Block Doctor Scan the whole site for invalid and broken blocks and fix them in bulk, with undo
Block Theme Ops Find Site Editor changes that override your theme files, see the diff, reset them or send them to Git
Role Right-Sizer Recommends the smallest role each user needs, from what they actually do
Update Rehearsal Try plugin, theme, core and PHP updates on a disposable copy of your site in WordPress Playground first
User Session Manager See every device signed in, sign out one, and limit sessions per role

License

Copyright Aryan Jasala. Licensed under GPL-2.0-or-later.