From 1cada3944c753745e226c80d4a72c8a97550f5fc Mon Sep 17 00:00:00 2001 From: Barry Ceelen Date: Sat, 30 May 2026 00:44:30 +0200 Subject: [PATCH] Fix redirect after bulk delete Retain query parameters so that the user lands on the page it sent the form from. --- src/bootstrap.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/bootstrap.php b/src/bootstrap.php index a3eff8b..1e74f59 100644 --- a/src/bootstrap.php +++ b/src/bootstrap.php @@ -693,12 +693,21 @@ function action_handle_posts() { } } - $redirect = array( - 'page' => 'wp-crontrol', - 'crontrol_name' => $deleted, - 'crontrol_message' => MESSAGE_EVENT_DELETED_SELECTED, + $redirect_url = wp_get_referer(); + + if ( ! $redirect_url ) { + $redirect_url = admin_url( 'tools.php?page=wp-crontrol' ); + } + + $redirect_url = remove_query_arg( array( 'crontrol_message', 'crontrol_name' ), $redirect_url ); + $redirect_url = add_query_arg( + array( + 'crontrol_name' => $deleted, + 'crontrol_message' => MESSAGE_EVENT_DELETED_SELECTED, + ), + $redirect_url ); - wp_safe_redirect( add_query_arg( $redirect, admin_url( 'tools.php' ) ) ); + wp_safe_redirect( $redirect_url ); exit; } elseif ( isset( $_GET['crontrol_action'] ) && 'delete-cron' === $_GET['crontrol_action'] ) {