Determine if global tables should be upgraded.


This function performs a series of checks to ensure the environment allows for the safe upgrading of global ClassicPress database tables. It is necessary because global tables will commonly grow to millions of rows on large installations, and the ability to control their upgrade routines can be critical to the operation of large networks.

In a future iteration, this function may use wp_is_large_network() to more- intelligently prevent global table upgrades. Until then, we make sure ClassicPress is on the main site of the main network, to avoid running queries more than once in multi-site or multi-network environments.


(bool) Whether to run the upgrade routines on global tables.


File: wp-admin/includes/upgrade.php

function wp_should_upgrade_global_tables() {

	// Return false early if explicitly not upgrading
	if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) {
		return false;

	// Assume global tables should be upgraded
	$should_upgrade = true;

	// Set to false if not on main network (does not matter if not multi-network)
	if ( ! is_main_network() ) {
		$should_upgrade = false;

	// Set to false if not on main site of current network (does not matter if not multi-site)
	if ( ! is_main_site() ) {
		$should_upgrade = false;

	 * Filters if upgrade routines should be run on global tables.
	 * @param bool $should_upgrade Whether to run the upgrade routines on global tables.
	return apply_filters( 'wp_should_upgrade_global_tables', $should_upgrade );


Version Description
WP-4.3.0 Introduced.