- foreach ( $themes as $theme )
- $delete_result = delete_theme( $theme, esc_url( add_query_arg( array('verify-delete' => 1), $_SERVER['REQUEST_URI'] ) ) );
- $paged = ( $_REQUEST['paged'] ) ? $_REQUEST['paged'] : 1;
- wp_redirect( network_admin_url( "themes.php?deleted=".count( $themes )."&paged=$paged&s=$s" ) );
+ foreach ( $themes as $theme ) {
+ $delete_result = delete_theme( $theme, esc_url( add_query_arg( array(
+ 'verify-delete' => 1,
+ 'action' => 'delete-selected',
+ 'checked' => $_REQUEST['checked'],
+ '_wpnonce' => $_REQUEST['_wpnonce']
+ ), network_admin_url( 'themes.php' ) ) ) );
+ }
+
+ $paged = ( $_REQUEST['paged'] ) ? $_REQUEST['paged'] : 1;
+ wp_redirect( add_query_arg( array(
+ 'deleted' => count( $themes ),
+ 'paged' => $paged,
+ 's' => $s
+ ), network_admin_url( 'themes.php' ) ) );
+ exit;
+ default:
+ $themes = isset( $_POST['checked'] ) ? (array) $_POST['checked'] : array();
+ if ( empty( $themes ) ) {
+ wp_safe_redirect( add_query_arg( 'error', 'none', $referer ) );
+ exit;
+ }
+ check_admin_referer( 'bulk-themes' );
+
+ /** This action is documented in wp-admin/network/site-themes.php */
+ $referer = apply_filters( 'handle_network_bulk_actions-' . get_current_screen()->id, $referer, $action, $themes );
+
+ wp_safe_redirect( $referer );