← ClaudeAtlas

wp-multisitelisted

Use when building or adapting a WordPress plugin for Multisite/Network — network activation (register_activation_hook with $network_wide), network admin pages (network_admin_menu), per-site vs network-wide options (get_option / get_network_option / update_network_option), looping sites with get_sites() + switch_to_blog() / restore_current_blog(), super admin capabilities (is_super_admin(), manage_network, is_network_admin()), table prefix handling ($wpdb->prefix vs $wpdb->base_prefix), blog ID awareness (get_current_blog_id), or detecting multisite context (is_multisite(), is_plugin_active_for_network()). Triggers: "make my plugin multisite compatible", "network activate", "network admin page", "per-site settings", "switch_to_blog()", "restore_current_blog()", "super admin only feature", "why does my plugin break on multisite", "run this for every site in the network", "network-wide option", "plugin only on certain sites", "blog ID handling", "is_multisite()", "is_network_admin()", "is_plugin_active_for_netwo
mralaminahamed/wp-dev-skills · ★ 27 · Code & Development · score 77
Install: claude install-skill mralaminahamed/wp-dev-skills
# WordPress Multisite Plugin Development > **Model note:** Adapting an existing plugin for multisite involves scattered conditional changes — requires reading across many files to find all `get_option`/`update_option` and activation hooks. Use `sonnet`; `haiku` may miss indirect callers. New builds with multisite in mind from the start are straightforward and can use `haiku`. Adapt and build plugins that work correctly on WordPress multisite networks. Covers activation scope, option storage, network admin UI, capability model, and safe site-switching patterns. ## When to use - "Make my plugin multisite compatible", "support network activation". - "Add a network admin settings page", "store a network-wide option". - "Loop over all sites and do X", "run a task on every blog". - "Why does my plugin break on multisite?", "fix table prefix issues". - "Check if a user is super admin", "restrict to network admin only". **Not for:** WP-CLI multisite operations — use `wp-wpcli-and-ops` (official skill). General plugin architecture — use `wp-plugin-development`. ## Method ### 1. Detection and guarding ```php // Is this a multisite network? if ( is_multisite() ) { ... } // Is the current screen the network admin? if ( is_network_admin() ) { ... } // Is the plugin network-activated? if ( is_plugin_active_for_network( plugin_basename( __FILE__ ) ) ) { ... } // Is the user a super admin? if ( current_user_can( 'manage_network' ) ) { ... } // preferred if ( is_super_admin() ) {