PHPackages                             lwplugins/lw-site-manager - 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. lwplugins/lw-site-manager

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

lwplugins/lw-site-manager
=========================

WordPress Site Manager using Abilities API - Full site maintenance via AI/REST

v1.2.0(1mo ago)53941[3 issues](https://github.com/lwplugins/lw-site-manager/issues)GPL-2.0-or-laterPHPPHP &gt;=8.2CI passing

Since Jan 13Pushed 1mo agoCompare

[ Source](https://github.com/lwplugins/lw-site-manager)[ Packagist](https://packagist.org/packages/lwplugins/lw-site-manager)[ Docs](https://github.com/lwplugins/lw-site-manager)[ Fund](https://sinann.io/)[ RSS](/packages/lwplugins-lw-site-manager/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (29)Versions (37)Used By (0)

Lightweight Site Manager
========================

[](#lightweight-site-manager)

WordPress Site Manager using the Abilities API - A native, AI-ready alternative to MainWP.

**Part of [LW Plugins](https://lwplugins.com) - Lightweight plugins for WordPress.**

Requirements
------------

[](#requirements)

- PHP 8.1+
- WordPress 6.9+
- WordPress Abilities API

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

[](#installation)

### Via Composer

[](#via-composer)

```
composer require lwplugins/lw-site-manager
```

### Manual

[](#manual)

1. Download the latest release from GitHub
2. Upload to `wp-content/plugins/lw-site-manager`
3. Activate the plugin in WordPress admin

Available Abilities
-------------------

[](#available-abilities)

The plugin currently registers **167 abilities**. All slugs use the `site-manager/` namespace and are grouped below by their ability category.

### Core abilities

[](#core-abilities)

#### Updates (5)

[](#updates-5)

`check-updates`, `update-core`, `update-plugin`, `update-theme`, `update-all` (with PHP error detection)

#### Plugins (5)

[](#plugins-5)

`list-plugins`, `install-plugin`, `activate-plugin`, `deactivate-plugin`, `delete-plugin`

#### Themes (4)

[](#themes-4)

`list-themes`, `install-theme`, `activate-theme`, `delete-theme`

#### Posts (8)

[](#posts-8)

`list-posts`, `get-post`, `create-post`, `update-post`, `delete-post`, `restore-post`, `duplicate-post`, `bulk-posts`

> Plus `get-post-types`, `get-post-terms`, `set-post-terms` (3) for taxonomy/post-type metadata.

#### Pages (10)

[](#pages-10)

`list-pages`, `get-page`, `create-page`, `update-page`, `delete-page`, `restore-page`, `duplicate-page`, `page-hierarchy`, `page-templates`, `set-page-template`, `reorder-pages`

#### Taxonomy (10)

[](#taxonomy-10)

Categories: `list-categories`, `get-category`, `create-category`, `update-category`, `delete-category`Tags: `list-tags`, `get-tag`, `create-tag`, `update-tag`, `delete-tag`

> Both groups accept a `taxonomy` parameter so they also work on any custom taxonomy.

#### Users (7)

[](#users-7)

`list-users`, `get-user`, `create-user`, `update-user`, `delete-user`, `get-roles`, `reset-password`

#### Comments (9)

[](#comments-9)

`list-comments`, `get-comment`, `create-comment`, `update-comment`, `delete-comment`, `approve-comment`, `spam-comment`, `bulk-comments`, `comment-counts`

#### Media (5)

[](#media-5)

`list-media`, `get-media`, `upload-media`, `update-media`, `delete-media`

#### Settings (10)

[](#settings-10)

`get-general-settings`, `update-general-settings`, `get-reading-settings`, `update-reading-settings`, `get-discussion-settings`, `update-discussion-settings`, `get-permalink-settings`, `update-permalink-settings`, `front-page-settings`, `set-homepage`, `set-posts-page`

#### Meta (12)

[](#meta-12)

EntityGetSetDeletePosts`get-post-meta``set-post-meta``delete-post-meta`Users`get-user-meta``set-user-meta``delete-user-meta`Terms`get-term-meta``set-term-meta``delete-term-meta`Comments`get-comment-meta``set-comment-meta``delete-comment-meta`> Inline `meta` fields are also accepted by all `create-*` / `update-*` abilities for posts, pages, users, terms, comments, and the WooCommerce equivalents below.

#### Backup (6)

[](#backup-6)

`create-backup`, `list-backups`, `backup-status`, `cancel-backup`, `restore-backup`, `delete-backup`

> Backups are processed in chunks via WP-Cron — `create-backup` returns immediately and `backup-status` polls progress.

#### Database (2)

[](#database-2)

`optimize-database`, `cleanup-database`

#### Cache (1)

[](#cache-1)

`flush-cache` — covers WP object cache, OPcache, and the major page-cache plugins (WP Rocket, W3TC, WP Super Cache, LiteSpeed, WP Fastest Cache, Cache Enabler, Autoptimize, Kinsta, SG Optimizer, Cloudflare WP plugin, Redis, Varnish).

#### Health &amp; diagnostics (2)

[](#health--diagnostics-2)

`health-check`, `error-log`

#### Plugin database updates (4)

[](#plugin-database-updates-4)

`check-plugin-db-updates`, `get-supported-db-plugins`, `update-plugin-db`, `update-all-plugin-dbs`

### WooCommerce abilities (requires WooCommerce 7.0+)

[](#woocommerce-abilities-requires-woocommerce-70)

#### Products (10)

[](#products-10)

`wc-list-products`, `wc-get-product`, `wc-create-product`, `wc-update-product`, `wc-delete-product`, `wc-duplicate-product`, `wc-update-stock`, `wc-list-product-categories`, `wc-list-variations`, `wc-bulk-products`

#### Orders — CRUD (6)

[](#orders--crud-6)

`wc-list-orders`, `wc-get-order`, `wc-create-order`, `wc-update-order`, `wc-delete-order`, `wc-update-order-status`

#### Orders — extras (5)

[](#orders--extras-5)

`wc-list-order-statuses`, `wc-create-refund`, `wc-list-order-notes`, `wc-add-order-note`, `wc-bulk-orders`

#### Order line items (3)

[](#order-line-items-3)

`wc-add-order-item`, `wc-update-order-item`, `wc-remove-order-item`

#### Order coupons &amp; fees (4)

[](#order-coupons--fees-4)

`wc-apply-order-coupon`, `wc-remove-order-coupon`, `wc-add-order-fee`, `wc-remove-order-fee`

#### Order shipping &amp; recalc (3)

[](#order-shipping--recalc-3)

`wc-set-order-shipping`, `wc-remove-order-shipping`, `wc-recalculate-order`

#### Order payment workflow (3)

[](#order-payment-workflow-3)

`wc-mark-order-paid` (with `silent` flag), `wc-send-order-email` (6-template whitelist), `wc-get-payment-url`

#### Reports (6)

[](#reports-6)

`wc-sales-report`, `wc-top-sellers`, `wc-orders-totals`, `wc-revenue-stats`, `wc-low-stock-products`, `wc-products-totals`

#### Global attributes (5)

[](#global-attributes-5)

`wc-list-attributes`, `wc-get-attribute`, `wc-create-attribute`, `wc-update-attribute`, `wc-delete-attribute`

#### Attribute terms (4)

[](#attribute-terms-4)

`wc-list-attribute-terms`, `wc-create-attribute-term`, `wc-update-attribute-term`, `wc-delete-attribute-term`

#### Product-attribute bindings (3)

[](#product-attribute-bindings-3)

`wc-set-product-attributes` (full replace), `wc-add-product-attribute`, `wc-remove-product-attribute`

> Supports both global (`pa_*`) and custom per-product attributes.

#### Variations (4)

[](#variations-4)

`wc-generate-variations` (cartesian auto-fill of variation-flagged attributes), `wc-create-variation`, `wc-update-variation`, `wc-delete-variation`

#### WooCommerce meta (6)

[](#woocommerce-meta-6)

EntityGetSetDeleteProducts / variations`wc-get-product-meta``wc-set-product-meta``wc-delete-product-meta`Orders`wc-get-order-meta``wc-set-order-meta``wc-delete-order-meta`> All HPOS-aware via `WC_Data` API. Inline `meta` is also accepted by `wc-create-product` / `wc-update-product`, `wc-create-order` / `wc-update-order`, `wc-create-variation` / `wc-update-variation`, `wc-add-order-item` / `wc-update-order-item`.

### Behavioral notes

[](#behavioral-notes)

- **Order locking** — every order modification ability rejects `cancelled` / `refunded` / `failed` orders with HTTP 409 (`order_locked`).
- **Deferred recalculation** — order item/coupon/fee/shipping mutations support `recalculate=false`; chain several mutations and finish with a single `wc-recalculate-order` call.
- **Email opt-out** — `wc-mark-order-paid` accepts `silent: true` to suppress the customer notification.

Documentation
-------------

[](#documentation)

Full API documentation is available in the [docs/abilities](docs/abilities/) directory.

Usage Examples
--------------

[](#usage-examples)

### REST API

[](#rest-api)

```
# Check for updates
curl -X GET "https://yoursite.com/wp-json/wp-abilities/v1/abilities/site-manager/check-updates/run" \
  -H "Authorization: Basic BASE64_ENCODED_APP_PASSWORD"

# Create a post with custom taxonomy
curl -X POST "https://yoursite.com/wp-json/wp-abilities/v1/abilities/site-manager/create-post/run" \
  -H "Authorization: Basic BASE64_ENCODED_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"input":{"title":"My Post","content":"Content here","status":"publish","taxonomies":{"my_custom_tax":[1,2,3]}}}'

# Set terms for a custom post type
curl -X POST "https://yoursite.com/wp-json/wp-abilities/v1/abilities/site-manager/set-post-terms/run" \
  -H "Authorization: Basic BASE64_ENCODED_APP_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"input":{"id":123,"taxonomy":"product_cat","terms":[5,10]}}'
```

### PHP

[](#php)

```
// Check updates
$ability = wp_get_ability( 'site-manager/check-updates' );
$updates = $ability->execute( [ 'type' => 'all' ] );

// Create a post with custom taxonomies
$ability = wp_get_ability( 'site-manager/create-post' );
$result = $ability->execute([
    'title' => 'My New Post',
    'content' => 'Post content here',
    'status' => 'publish',
    'taxonomies' => [
        'category' => [1, 2],
        'post_tag' => [5, 6, 7],
        'my_custom_tax' => [10, 11],
    ],
]);
```

Authentication
--------------

[](#authentication)

Use WordPress Application Passwords for REST API authentication:

1. Go to Users → Your Profile
2. Scroll to "Application Passwords"
3. Create new application password
4. Use Basic Auth: `Authorization: Basic base64(username:app_password)`

AI Integration
--------------

[](#ai-integration)

This plugin is designed for AI agent integration via:

- **REST API** - Any AI can call abilities via HTTP
- **MCP Adapter** - Claude, GPT can use abilities as tools
- **Agentic Loops** - AI decides which abilities to call

Example AI workflow:

```
User: "Check my site and update everything safely"

AI Agent:
1. Calls site-manager/health-check
2. Calls site-manager/check-updates
3. Calls site-manager/create-backup
4. Calls site-manager/update-all with stop_on_error=true
5. If errors: reports issues, suggests rollback
6. If success: calls site-manager/health-check again
7. Returns summary to user

```

Links
-----

[](#links)

- [GitHub](https://github.com/lwplugins/lw-site-manager)
- [LW Plugins](https://lwplugins.com)
- [All LW Plugins](https://github.com/lwplugins)

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md) for the full version history.

Most recent: **1.1.26** — split `WooCommerceAbilities.php` into focused classes and added 38 new abilities: order management (line items, coupons, fees, shipping, payment workflow), full attribute / variation CRUD, HPOS-aware meta on every entity, plus inline `meta` on every create/update.

License
-------

[](#license)

GPL-2.0-or-later

Sponsor
-------

[](#sponsor)

[ ![Sinann](https://camo.githubusercontent.com/08cb3e29f7e91a32ff084d73f5e4c33b6ac8f3508f20dfe040357e9a94c5952b/68747470733a2f2f73696e616e6e2e696f2f66617669636f6e2e737667)](https://sinann.io/)Supported by [Sinann](https://sinann.io/)

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance82

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.5% 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

Every ~4 days

Total

35

Last Release

31d ago

PHP version history (2 changes)v1.0.0PHP &gt;=8.0

v1.1.0PHP &gt;=8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/56bc0e3c885c56236e52eaed12997aa4fbaf0645299acf0092a8cc5b887d65b0?d=identicon)[trueqap](/maintainers/trueqap)

---

Top Contributors

[![trueqap](https://avatars.githubusercontent.com/u/32407751?v=4)](https://github.com/trueqap "trueqap (85 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")

---

Tags

airest-apiwordpresswordpress-plugin

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/lwplugins-lw-site-manager/health.svg)

```
[![Health](https://phpackages.com/badges/lwplugins-lw-site-manager/health.svg)](https://phpackages.com/packages/lwplugins-lw-site-manager)
```

PHPackages © 2026

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