The do_mu_upgrade WordPress PHP filter controls whether to attempt the multisite database upgrade routine or not.
Usage
add_filter('do_mu_upgrade', 'your_custom_function'); function your_custom_function($do_mu_upgrade) { // your custom code here return $do_mu_upgrade; }
Parameters
$do_mu_upgrade
(bool) – Whether to perform the Multisite upgrade routine. Default is true.
More information
See WordPress Developer Resources: do_mu_upgrade
Examples
Disable multisite upgrade routine
Disable the multisite database upgrade routine completely.
add_filter('do_mu_upgrade', '__return_false');
Enable multisite upgrade routine for networks with more than 100 sites
Allow the multisite database upgrade routine to run only on networks with more than 100 sites.
add_filter('do_mu_upgrade', 'allow_upgrade_for_large_networks'); function allow_upgrade_for_large_networks($do_mu_upgrade) { $network_sites_count = get_blog_count(); if ($network_sites_count > 100) { return true; } return $do_mu_upgrade; }
Run multisite upgrade routine only during specific time periods
Only run the multisite database upgrade routine during specific hours of the day, like outside of peak traffic hours.
add_filter('do_mu_upgrade', 'upgrade_during_off_peak_hours'); function upgrade_during_off_peak_hours($do_mu_upgrade) { $current_hour = date('G'); if ($current_hour >= 0 && $current_hour <= 5) { return true; } return $do_mu_upgrade; }
Run multisite upgrade routine only if a specific user is logged in
Allow the multisite database upgrade routine to run only if a specific user is logged in.
add_filter('do_mu_upgrade', 'upgrade_when_user_is_logged_in'); function upgrade_when_user_is_logged_in($do_mu_upgrade) { $allowed_user = 'admin_username'; if (is_user_logged_in() && wp_get_current_user()->user_login === $allowed_user) { return true; } return $do_mu_upgrade; }
Customize multisite upgrade routine based on custom site option
Run the multisite database upgrade routine only if a custom site option is set to ‘true’.
add_filter('do_mu_upgrade', 'upgrade_based_on_custom_option'); function upgrade_based_on_custom_option($do_mu_upgrade) { $custom_option = get_option('custom_upgrade_option', 'false'); if ($custom_option === 'true') { return true; } return $do_mu_upgrade; }