Code Snippet: Stop Plugin Activation on WordPress Multisite

Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation or a collection of sites that all share the same WordPress installation.

Not all plugins are compatible with WordPress multisite as a number of consideration has to be taken into account (story for another day).

Below is a code snippet I often use to stop my plugins from activating or being used on Multisite.


function w3guy_stop_multisite_activation()
{
    if (is_multisite()) {
        if (!function_exists('deactivate_plugins')) {
            require_once(ABSPATH . 'wp-admin/includes/plugin.php');
        }
        deactivate_plugins(plugin_basename(MAILOPTIN_SYSTEM_FILE_PATH));
        wp_die(sprintf(__("%s cannot work on WordPress multisite. %s for multisite compatibility and usage."), '<strong>' . __('Plugin Name Here') . '</strong> '));
    }
}

The function is best used on register_activation_hook like so:


register_activation_hook(__FILE__, 'w3guy_stop_multisite_activation');

The End!

Don’t miss out!
Subscribe to My Newsletter
Invalid email address