wp plugin status
Overview
Get a detailed status snapshot of a specific plugin: version, activation state, update availability, description, and file location. Essential for confirming the state of a plugin before and after operations.
What It Does
wp plugin status prints detailed information about a single plugin. Unlike wp plugin list which gives a table view of all plugins, this command goes deeper — similar to clicking "View plugin details" in wp-admin.
Syntax
wp plugin status [<plugin>] [--format=<format>]
Arguments & Options
| Argument / Flag | Description |
|---|---|
PLUGIN | Plugin slug to check (omit to show status of all plugins) |
--format=FORMAT | Output: table, json, csv, yaml |
Basic Usage
Status of a single plugin
wp plugin status woocommerce
Output:
Plugin woocommerce details:
Name: WooCommerce
Status: Active
Version: 9.0.1
Author: Automattic
Description: An ecommerce toolkit that helps you sell anything.
Update available: 9.1.0
JSON output (for scripting)
wp plugin status woocommerce --format=json
Status of all plugins (summary table)
wp plugin status
Output Fields
| Field | Description |
|---|---|
Name | Display name of the plugin |
Status | Active, Inactive, Network Active, Must Use |
Version | Currently installed version |
Author | Plugin author |
Description | Plugin description from the plugin header |
Update available | New version number if one exists |
File | Path to the main plugin file |
Real-World Scenarios
Scenario 1: Verify plugin state after activation in a script
wp plugin activate woocommerce
STATUS=$(wp plugin status woocommerce --format=json | python3 -c "import sys,json; print(json.load(sys.stdin)['status'])")
echo "WooCommerce status: ${STATUS}"
if [ "${STATUS}" = "Active" ]; then
echo "✅ Activation confirmed"
else
echo "❌ Activation may have failed"
fi
Scenario 2: Check for updates before deciding to run wp plugin update
wp plugin status woocommerce
# If "Update available" shows a version, update is safe to run
wp plugin update woocommerce
Scenario 3: Audit plugin version in CI/CD
# Fail pipeline if WooCommerce version is below minimum
MIN_VERSION="9.0.0"
INSTALLED=$(wp plugin status woocommerce --format=json | python3 -c "import sys,json; print(json.load(sys.stdin)['version'])")
if [ "$(printf '%s\n' "$MIN_VERSION" "$INSTALLED" | sort -V | head -n1)" != "$MIN_VERSION" ]; then
echo "ERROR: WooCommerce ${INSTALLED} is below minimum ${MIN_VERSION}"
exit 1
fi
echo "WooCommerce version OK: ${INSTALLED}"
Scenario 4: Quick health check in a monitoring script
PLUGINS=("woocommerce" "woocommerce-payments" "yoast-seo")
for plugin in "${PLUGINS[@]}"; do
wp plugin status "${plugin}" --format=json 2>/dev/null | \
python3 -c "import sys,json; d=json.load(sys.stdin); print(f\"${plugin}: {d['status']} v{d['version']}\")" \
2>/dev/null || echo "${plugin}: NOT FOUND"
done
Best Practices
- Combine with
--format=jsonin scripts — easier to parse than table output. - Check status after every
activate/deactivateoperation to confirm the change took effect. - Use for version auditing in QA pipelines — verify specific plugin versions are present before running tests.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
Error: The plugin could not be found | Wrong slug or not installed | Verify with wp plugin list --field=name |
Status: Inactive unexpectedly | Activation failed silently | Check PHP error log; re-run wp plugin activate |
| No update version shown when expected | API rate limited | Retry; or check plugin page manually on WordPress.org |
Quick Reference
wp plugin status woocommerce # Single plugin detail
wp plugin status woocommerce --format=json # JSON for scripting
wp plugin status # All plugins summary
Next Steps
wp plugin list— compare all plugins at once.wp plugin activate— activate after confirming current status.wp plugin update— update after seeing update is available.wp plugin get— get low-level plugin data fields.