From 102d9569c242445cd34ec834bc8dab15054b9364 Mon Sep 17 00:00:00 2001 From: desrosj Date: Fri, 7 May 2021 16:09:59 +0000 Subject: [PATCH] Themes: Introduce the `delete_theme` and `deleted_theme` action hooks. This change introduces the `delete_theme` and `deleted_theme` action hooks, which fire immediately before and after an attempt to delete a theme, respectively. Props scottconnerly, ptahdunbar, pbiron, vetyst, desrosj. Fixes #16401. Built from https://develop.svn.wordpress.org/trunk@50826 git-svn-id: http://core.svn.wordpress.org/trunk@50435 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/theme.php | 19 +++++++++++++++++++ wp-includes/version.php | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php index 224021ad37..bd47b37ce6 100644 --- a/wp-admin/includes/theme.php +++ b/wp-admin/includes/theme.php @@ -72,10 +72,29 @@ function delete_theme( $stylesheet, $redirect = '' ) { return new WP_Error( 'fs_no_themes_dir', __( 'Unable to locate WordPress theme directory.' ) ); } + /** + * Fires immediately before a theme deletion attempt. + * + * @since 5.8 + * + * @param string $stylesheet Stylesheet of the theme to delete. + */ + do_action( 'delete_theme', $stylesheet ); + $themes_dir = trailingslashit( $themes_dir ); $theme_dir = trailingslashit( $themes_dir . $stylesheet ); $deleted = $wp_filesystem->delete( $theme_dir, true ); + /** + * Fires immediately after a theme deletion attempt. + * + * @since 5.8 + * + * @param string $stylesheet Stylesheet of the theme to delete. + * @param bool $deleted Whether the theme deletion was successful. + */ + do_action( 'deleted_theme', $stylesheet, $deleted ); + if ( ! $deleted ) { return new WP_Error( 'could_not_remove_theme', diff --git a/wp-includes/version.php b/wp-includes/version.php index a66e4dbfae..1dc4c20252 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.8-alpha-50825'; +$wp_version = '5.8-alpha-50826'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.