Determine if global tables should be upgraded.

Description Description

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.

Return Return

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

Top ↑

Source Source

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

Top ↑

Changelog Changelog

Version Description
4.3.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.