From wordpress-expert
Identifies and resolves WordPress plugin/theme conflicts using binary search isolation, WP-CLI, hook analysis, and JS/CSS debugging. For plugin clashes, theme issues, or collisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/wordpress-expert:plugin-conflictsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Hook priority collisions (same hook, same priority, conflicting behavior)
# Get list of active plugins
wp plugin list --status=active --field=name
# Disable all plugins
wp plugin deactivate --all
# Test if issue is resolved
# If yes, it's a plugin conflict. Proceed with binary search.
# Enable half the plugins
wp plugin activate plugin1 plugin2 plugin3
# Test again. If issue returns, conflict is in this half.
# If issue doesn't return, conflict is in the other half.
# Repeat until you isolate the conflicting plugin(s)
# Switch to a default WordPress theme
wp theme activate twentytwentyfour
# Test if issue persists
# If resolved, conflict is theme-related
Once you've identified the conflicting plugins/theme:
Check for hook priority collisions:
# Search for same hook usage in conflicting plugins
grep -rn "add_action('init'" plugin1/ plugin2/
grep -rn "add_filter('the_content'" plugin1/ plugin2/
Check for JavaScript conflicts:
Check for CSS conflicts:
!important overuseFor hook priority collisions:
// Adjust hook priority to run before/after conflicting plugin
add_action('init', 'my_function', 5); // Lower number = earlier execution
add_action('init', 'my_function', 999); // Higher number = later execution
For JavaScript conflicts:
// Wrap in IIFE to avoid global namespace pollution
(function($) {
// Your code here
})(jQuery);
For CSS conflicts:
/* Increase specificity without !important */
.my-plugin-wrapper .my-element {
/* styles */
}
/* Or use :where() for lower specificity that's easier to override */
:where(.my-plugin) .my-element {
/* styles */
}
# List all active plugins
wp plugin list --status=active
# Deactivate all plugins
wp plugin deactivate --all
# Activate specific plugins
wp plugin activate plugin-name
# Get plugin details
wp plugin get plugin-name
# Search for plugins by keyword
wp plugin search conflict-checker
# List available themes
wp theme list
# Switch to default theme for testing
wp theme activate twentytwentyfour
# Get current theme details
wp theme get
# Enable debug mode
wp config set WP_DEBUG true --raw
wp config set WP_DEBUG_LOG true --raw
wp config set WP_DEBUG_DISPLAY false --raw
# Tail the debug log
tail -f wp-content/debug.log
# Disable debug mode after testing
wp config set WP_DEBUG false --raw
npx claudepluginhub dr-robert-li/cowork-wordpress-expertReviews WordPress architecture for CPT misuse patterns (dead CPTs, data-store abuse), hook abuse (excessive callbacks, expensive init hooks, priority conflicts), and caching anti-patterns (missing object cache, permanent transients).
Validates WordPress plugins and themes at runtime using wp-now. Starts a local server, checks HTTP responses and PHP debug logs for errors.
Reviews WordPress PHP code for performance anti-patterns in queries, hooks, caching, AJAX, and templates. Use for auditing themes/plugins, optimizing WP_Query, or diagnosing slow loads/timeouts.