WordPress plugin that scans your installed plugins for compatibility issues with specific WordPress versions. Uses the wp-since library to detect deprecated functions, version mismatches, and compatibility problems.
- 🔍 Scan all plugins - Check active or all installed plugins at once
⚠️ Detect deprecated code - Find functions/hooks that may be removed in future WordPress versions- 📊 Version validation - Verify declared minimum WordPress versions match actual usage
- 🆕 New features detection - See which new WordPress features your plugins are using
- 🗺️ Custom compatibility maps - Generate maps for specific WordPress versions (RC, beta, etc.)
- 🚀 WP-CLI integration - Easy command-line interface
- Navigate to the plugin directory:
cd wp-content/plugins/wp-compat-scanner- Install Composer dependencies:
composer install- Activate the plugin:
wp plugin activate wp-compat-scannerwp compat-scanner scanwp compat-scanner scan --allwp compat-scanner scan --plugin=your-plugin-slug# Generate compatibility map for 6.9 RC1
wp compat-scanner generate_map --version=6.9-RC1
# Scan plugins against 6.9 RC1
wp compat-scanner scan --since-map=wp-content/plugins/wp-compat-scanner/wp-since-6.9-RC1.jsonwp compat-scanner scanOutput:
🔍 Scanning 3 plugin(s)...
📦 Plugin: Your Plugin
✅ Minimum version declared: 6.7
✅ All good! Plugin is compatible with WP 6.7.
wp compat-scanner scan --allOutput:
📦 Plugin: Example Plugin
✅ Minimum version declared: 5.0
✅ All good! Plugin is compatible with WP 5.0.
⚠️ Using deprecated symbols (may be removed or changed in 6.9):
Symbol Deprecated in WP Type
clean_url 3.0.0 function
💡 Consider updating to newer alternatives before WordPress 6.9 release.
wp compat-scanner scan --plugin=my-pluginOutput:
📦 Plugin: My Plugin
✅ Minimum version declared: 5.0
🚨 Compatibility issues found:
Symbol Introduced in WP
register_setting 5.5.0
📌 Suggested version required: 5.5.0
Scan plugins for compatibility issues.
Options:
--all- Scan all installed plugins (not just active)--plugin=<slug>- Scan a specific plugin by slug--since-map=<path>- Use custom compatibility map file
Examples:
# Scan active plugins
wp compat-scanner scan
# Scan all plugins
wp compat-scanner scan --all
# Scan specific plugin
wp compat-scanner scan --plugin=akismet
# Use custom map
wp compat-scanner scan --since-map=/path/to/wp-since-6.9.jsonGenerate a compatibility map from WordPress source code.
Options:
--version=<version>- WordPress version (e.g., 6.9-RC1, 6.9, latest)--output=<path>- Output path for the generated map--source-dir=<path>- Use existing WordPress source directory
Examples:
# Generate map for WordPress 6.9 RC1
wp compat-scanner generate_map --version=6.9-RC1
# Use existing WordPress installation
wp compat-scanner generate_map --source-dir=/path/to/wordpress- Symbol availability - Functions/classes/hooks requiring newer WP versions
- Deprecated symbols - Functions/hooks marked as deprecated
- Version mismatches - When declared version doesn't match usage
- New features - Symbols introduced in specific WordPress versions
- Breaking changes (function signature changes)
- Behavioral changes (how functions work internally)
- Removed functions (not just deprecated)
- Database schema changes
- JavaScript/API changes
Note: Always combine with manual testing for complete compatibility verification.
-
Scans your plugin for used WordPress core symbols:
- Functions
- Classes
- Class methods (static and instance)
- Action and filter hooks
-
Reads the declared "Requires at least:" version from your plugin's
readme.txtor main plugin file header -
Compares those symbols with a version map built from WordPress core using
@sincetags -
Reports any issues:
- Symbols requiring newer WP version than declared
- Deprecated symbols that may be removed
- New WordPress features being used
- PHP 7.4+
- WordPress 5.0+
- WP-CLI
- Composer
Uses the wp-since library by Eduardo Villão for core compatibility checking functionality.
MIT