A WordPress-centric search engine for devs and theme authors

wp_should_upgrade_global_tables ›

wp_should_upgrade_global_tables ( No parameters )
  • (bool) Whether to run the upgrade routines on global tables.
Defined at:

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 WordPress 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 WordPress is on the main site of the main network, to avoid running queries more than once in multi-site or multi-network environments.


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 );