Changeset 51266 for trunk/src/wp-admin/includes/plugin.php
- Timestamp:
- 06/30/2021 12:20:52 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/plugin.php
r51092 r51266 2474 2474 ); 2475 2475 } 2476 2477 /** 2478 * Renders an admin notice when a plugin was deactivated during an update. 2479 * 2480 * Displays an admin notice in case a plugin has been deactivated during an 2481 * upgrade due to incompatibility with the current version of WordPress. 2482 * 2483 * @since 5.8.0 2484 * @access private 2485 * 2486 * @global string $pagenow 2487 * @global string $wp_version 2488 */ 2489 function deactivated_plugins_notice() { 2490 if ( 'plugins.php' === $GLOBALS['pagenow'] ) { 2491 return; 2492 } 2493 2494 if ( ! current_user_can( 'activate_plugins' ) ) { 2495 return; 2496 } 2497 2498 $blog_deactivated_plugins = get_option( 'wp_force_deactivated_plugins' ); 2499 $site_deactivated_plugins = array(); 2500 2501 if ( false === $blog_deactivated_plugins ) { 2502 // Option not in database, add an empty array to avoid extra DB queries on subsequent loads. 2503 update_option( 'wp_force_deactivated_plugins', array() ); 2504 } 2505 2506 if ( is_multisite() ) { 2507 $site_deactivated_plugins = get_site_option( 'wp_force_deactivated_plugins' ); 2508 if ( false === $site_deactivated_plugins ) { 2509 // Option not in database, add an empty array to avoid extra DB queries on subsequent loads. 2510 update_site_option( 'wp_force_deactivated_plugins', array() ); 2511 } 2512 } 2513 2514 if ( empty( $blog_deactivated_plugins ) && empty( $site_deactivated_plugins ) ) { 2515 // No deactivated plugins. 2516 return; 2517 } 2518 2519 $deactivated_plugins = array_merge( $blog_deactivated_plugins, $site_deactivated_plugins ); 2520 2521 foreach ( $deactivated_plugins as $plugin ) { 2522 if ( ! empty( $plugin['version_compatible'] ) && ! empty( $plugin['version_deactivated'] ) ) { 2523 $explanation = sprintf( 2524 /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version */ 2525 __( '%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.' ), 2526 $plugin['plugin_name'], 2527 $plugin['version_deactivated'], 2528 $GLOBALS['wp_version'], 2529 $plugin['version_compatible'] 2530 ); 2531 } else { 2532 $explanation = sprintf( 2533 /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version */ 2534 __( '%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.' ), 2535 $plugin['plugin_name'], 2536 ! empty( $plugin['version_deactivated'] ) ? $plugin['version_deactivated'] : '', 2537 $GLOBALS['wp_version'], 2538 $plugin['version_compatible'] 2539 ); 2540 } 2541 2542 printf( 2543 '<div class="notice notice-warning"><p><strong>%s</strong><br>%s</p><p><a href="%s">%s</a></p></div>', 2544 sprintf( 2545 /* translators: %s: Name of deactivated plugin */ 2546 __( '%s plugin deactivated during WordPress upgrade.' ), 2547 $plugin['plugin_name'] 2548 ), 2549 $explanation, 2550 esc_url( admin_url( 'plugins.php?plugin_status=inactive' ) ), 2551 __( 'Go to the Plugins screen' ) 2552 ); 2553 } 2554 2555 // Empty the options. 2556 update_option( 'wp_force_deactivated_plugins', array() ); 2557 if ( is_multisite() ) { 2558 update_site_option( 'wp_force_deactivated_plugins', array() ); 2559 } 2560 }
Note: See TracChangeset
for help on using the changeset viewer.