You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* During bulk updates, avoid re-injecting update data for the plugin itself once it has already been updated.
550
+
*
551
+
* If the custom package is re-added to the transient after the plugin update, WordPress may detect the package again and incorrectly report "The plugin is at the latest version" for a pending update, since the custom package version matches the currently installed version.
552
+
*
553
+
* Behavior differs depending on how the bulk update is triggered. Please refer to the inline comments for each flow below for details.
554
+
*/
555
+
if (
556
+
! empty( $wp_current_filter ) && (
557
+
/**
558
+
* update-core.php and other upgrader pages:
559
+
* The `upgrader_process_complete` action fires only once after all updates have finished. In this case, it is the current action (`$wp_current_filter[0]`), while `self::$_upgrade_basename` may contain any plugin basename.
* AJAX bulk updates (e.g., from the Plugins page):
564
+
* The `upgrader_process_complete` action fires multiple times — once for each plugin after it finishes updating. In this flow, it is not the current action (`$wp_current_filter[0]`) because it is triggered from another action. Instead, we compare `self::$_upgrade_basename` with the basename of the plugin currently being updated, since the `upgrader_process_complete` action runs separately for each plugin.
0 commit comments