Detecting a Large Multisite Network in WordPress

If you have ever worked on a very large Multisite network in WordPress, you probably understand the challenges of working with large sets of data. WordPress contains a function to help you detect a large network, wp_is_large_network(). This function accepts a single parameter $using, which sets whether to count users or sites. If your network is either more than 10,000 users or more than 10,000 sites, the function will return true. Let’s look at an example:

<?php
if ( wp_is_large_network( 'users' ) ) {

    //this network has over 10,000 users

}elseif ( wp_is_large_network( 'sites' ) ) {

    //this network has over 10,000 sites

}
?>

This function is extremely handy if you are trying to work with large sets of data. When working with Multisite, and WordPress in general, you should always write code that can scale. You can also easily alter the large network criteria using the wp_is_large_network filter.

WordPress Multisite is an extremely powerful feature of WordPress. Understanding the tools available when working with Multisite will help you build amazing, and stable, WordPress networks.

How To: Create a Network Only Plugin in WordPress

If you’ve ever created a custom plugin in WordPress, you should be familiar with the standard plugin header code. The information set in your plugin header is displayed under the Plugins admin menu in WordPress shown below:

wordpress-plugin-header-example

There is a lesser known piece of information that can be defined in your plugin header that tells WordPress to only show your plugin on the WordPress Multisite Network Plugins page. This will hide your plugin from being displayed and activated at the site level in WordPress Multisite. To only allow your plugin to show at the Network Plugins level, simply add this one line to your plugin header code:

Network: true

Easy, right? Let’s look at an example comparing a standard plugin header with a network only plugin header.

Standard Plugin Header:

/*
Plugin Name: My Awesome Plugin
Plugin URI: http://webdevstudios.com/support/wordpress-plugins/
Description: This is my extremely awesome WordPress plugin
Version: 1.0
Author: Brad Williams
Author URI: http://webdevstudios.com
License: GPLv2
*/

Network Only Plugin Header:

/*
Plugin Name: My Awesome Plugin
Plugin URI: http://webdevstudios.com/support/wordpress-plugins/
Description: This is my extremely awesome WordPress plugin
Version: 1.0
Author: Brad Williams
Author URI: http://webdevstudios.com
License: GPLv2
Network: True
*/

Using this method you can be sure your WordPress plugin will only be network activated in Multisite.