W3cubDocs

/WordPress

Theme_Upgrader::delete_old_theme( bool $removed, string $local_destination, string $remote_destination, array $theme )

Delete the old theme during an upgrade.

Description

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

Parameters

$removed

(bool) (Required)

$local_destination

(string) (Required)

$remote_destination

(string) (Required)

$theme

(array) (Required)

Return

(bool)

Source

File: wp-admin/includes/class-theme-upgrader.php

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

Changelog

Version Description
2.8.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/theme_upgrader/delete_old_theme