W3cubDocs

/WordPress

WP_Upgrader::maintenance_mode( bool $enable = false )

Toggles maintenance mode for the site.

Description

Creates/deletes the maintenance file to enable/disable maintenance mode.

Parameters

$enablebooloptional
True to enable maintenance mode, false to disable.

Default:false

Source

public function maintenance_mode( $enable = false ) {
	global $wp_filesystem;

	if ( ! $wp_filesystem ) {
		require_once ABSPATH . 'wp-admin/includes/file.php';
		WP_Filesystem();
	}

	$file = $wp_filesystem->abspath() . '.maintenance';
	if ( $enable ) {
		if ( ! wp_doing_cron() ) {
			$this->skin->feedback( 'maintenance_start' );
		}
		// Create maintenance file to signal that we are upgrading.
		$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
		$wp_filesystem->delete( $file );
		$wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE );
	} elseif ( ! $enable && $wp_filesystem->exists( $file ) ) {
		if ( ! wp_doing_cron() ) {
			$this->skin->feedback( 'maintenance_end' );
		}
		$wp_filesystem->delete( $file );
	}
}

Changelog

Version Description
2.8.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_upgrader/maintenance_mode