Theme_Upgrader::delete_old_theme()publicWP 2.8.0

Deletes the old theme during an upgrade.

Hooked to the upgrader_clear_destination filter by Theme_Upgrader::upgrade() and Theme_Upgrader::bulk_upgrade().

Method of the class: Theme_Upgrader{}

No Hooks.

Return

true|false.

Usage

$Theme_Upgrader = new Theme_Upgrader();
$Theme_Upgrader->delete_old_theme( $removed, $local_destination, $remote_destination, $theme );
$removed(true|false) (required)
-
$local_destination(string) (required)
-
$remote_destination(string) (required)
-
$theme(array) (required)
-

Notes

  • Global. WP_Filesystem_Base. $wp_filesystem Subclass

Changelog

Since 2.8.0 Introduced.

Theme_Upgrader::delete_old_theme() code WP 6.6.2

public function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) {
	global $wp_filesystem;

	if ( is_wp_error( $removed ) ) {
		return $removed; // Pass errors through.
	}

	if ( ! isset( $theme['theme'] ) ) {
		return $removed;
	}

	$theme      = $theme['theme'];
	$themes_dir = trailingslashit( $wp_filesystem->wp_themes_dir( $theme ) );
	if ( $wp_filesystem->exists( $themes_dir . $theme ) ) {
		if ( ! $wp_filesystem->delete( $themes_dir . $theme, true ) ) {
			return false;
		}
	}

	return true;
}