deactivated_plugins_notice

The timeline below displays how wordpress function deactivated_plugins_notice has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.4

/**
 * Renders an admin notice when a plugin was deactivated during an update.
 *
 * Displays an admin notice in case a plugin has been deactivated during an
 * upgrade due to incompatibility with the current version of WordPress.
 *
 * @since 5.8.0
 * @access private
 *
 * @global string $pagenow    The filename of the current screen.
 * @global string $wp_version The WordPress version string.
 */
function deactivated_plugins_notice()
{
    if ('plugins.php' === $GLOBALS['pagenow']) {
        return;
    }
    if (!current_user_can('activate_plugins')) {
        return;
    }
    $blog_deactivated_plugins = get_option('wp_force_deactivated_plugins');
    $site_deactivated_plugins = array();
    if (false === $blog_deactivated_plugins) {
        // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
        update_option('wp_force_deactivated_plugins', array());
    }
    if (is_multisite()) {
        $site_deactivated_plugins = get_site_option('wp_force_deactivated_plugins');
        if (false === $site_deactivated_plugins) {
            // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
            update_site_option('wp_force_deactivated_plugins', array());
        }
    }
    if (empty($blog_deactivated_plugins) && empty($site_deactivated_plugins)) {
        // No deactivated plugins.
        return;
    }
    $deactivated_plugins = array_merge($blog_deactivated_plugins, $site_deactivated_plugins);
    foreach ($deactivated_plugins as $plugin) {
        if (!empty($plugin['version_compatible']) && !empty($plugin['version_deactivated'])) {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.'),
                $plugin['plugin_name'],
                $plugin['version_deactivated'],
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        } else {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.'),
                $plugin['plugin_name'],
                (!empty($plugin['version_deactivated'])) ? $plugin['version_deactivated'] : '',
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        }
        $message = sprintf('<strong>%s</strong><br>%s</p><p><a href="%s">%s</a>', sprintf(
            /* translators: %s: Name of deactivated plugin. */
            __('%s plugin deactivated during WordPress upgrade.'),
            $plugin['plugin_name']
        ), $explanation, esc_url(admin_url('plugins.php?plugin_status=inactive')), __('Go to the Plugins screen'));
        wp_admin_notice($message, array('type' => 'warning'));
    }
    // Empty the options.
    update_option('wp_force_deactivated_plugins', array());
    if (is_multisite()) {
        update_site_option('wp_force_deactivated_plugins', array());
    }
}

WordPress Version: 6.1

/**
 * Renders an admin notice when a plugin was deactivated during an update.
 *
 * Displays an admin notice in case a plugin has been deactivated during an
 * upgrade due to incompatibility with the current version of WordPress.
 *
 * @since 5.8.0
 * @access private
 *
 * @global string $pagenow    The filename of the current screen.
 * @global string $wp_version The WordPress version string.
 */
function deactivated_plugins_notice()
{
    if ('plugins.php' === $GLOBALS['pagenow']) {
        return;
    }
    if (!current_user_can('activate_plugins')) {
        return;
    }
    $blog_deactivated_plugins = get_option('wp_force_deactivated_plugins');
    $site_deactivated_plugins = array();
    if (false === $blog_deactivated_plugins) {
        // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
        update_option('wp_force_deactivated_plugins', array());
    }
    if (is_multisite()) {
        $site_deactivated_plugins = get_site_option('wp_force_deactivated_plugins');
        if (false === $site_deactivated_plugins) {
            // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
            update_site_option('wp_force_deactivated_plugins', array());
        }
    }
    if (empty($blog_deactivated_plugins) && empty($site_deactivated_plugins)) {
        // No deactivated plugins.
        return;
    }
    $deactivated_plugins = array_merge($blog_deactivated_plugins, $site_deactivated_plugins);
    foreach ($deactivated_plugins as $plugin) {
        if (!empty($plugin['version_compatible']) && !empty($plugin['version_deactivated'])) {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.'),
                $plugin['plugin_name'],
                $plugin['version_deactivated'],
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        } else {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.'),
                $plugin['plugin_name'],
                (!empty($plugin['version_deactivated'])) ? $plugin['version_deactivated'] : '',
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        }
        printf('<div class="notice notice-warning"><p><strong>%s</strong><br>%s</p><p><a href="%s">%s</a></p></div>', sprintf(
            /* translators: %s: Name of deactivated plugin. */
            __('%s plugin deactivated during WordPress upgrade.'),
            $plugin['plugin_name']
        ), $explanation, esc_url(admin_url('plugins.php?plugin_status=inactive')), __('Go to the Plugins screen'));
    }
    // Empty the options.
    update_option('wp_force_deactivated_plugins', array());
    if (is_multisite()) {
        update_site_option('wp_force_deactivated_plugins', array());
    }
}

WordPress Version: 5.9

/**
 * Renders an admin notice when a plugin was deactivated during an update.
 *
 * Displays an admin notice in case a plugin has been deactivated during an
 * upgrade due to incompatibility with the current version of WordPress.
 *
 * @since 5.8.0
 * @access private
 *
 * @global string $pagenow
 * @global string $wp_version
 */
function deactivated_plugins_notice()
{
    if ('plugins.php' === $GLOBALS['pagenow']) {
        return;
    }
    if (!current_user_can('activate_plugins')) {
        return;
    }
    $blog_deactivated_plugins = get_option('wp_force_deactivated_plugins');
    $site_deactivated_plugins = array();
    if (false === $blog_deactivated_plugins) {
        // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
        update_option('wp_force_deactivated_plugins', array());
    }
    if (is_multisite()) {
        $site_deactivated_plugins = get_site_option('wp_force_deactivated_plugins');
        if (false === $site_deactivated_plugins) {
            // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
            update_site_option('wp_force_deactivated_plugins', array());
        }
    }
    if (empty($blog_deactivated_plugins) && empty($site_deactivated_plugins)) {
        // No deactivated plugins.
        return;
    }
    $deactivated_plugins = array_merge($blog_deactivated_plugins, $site_deactivated_plugins);
    foreach ($deactivated_plugins as $plugin) {
        if (!empty($plugin['version_compatible']) && !empty($plugin['version_deactivated'])) {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.'),
                $plugin['plugin_name'],
                $plugin['version_deactivated'],
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        } else {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version. */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.'),
                $plugin['plugin_name'],
                (!empty($plugin['version_deactivated'])) ? $plugin['version_deactivated'] : '',
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        }
        printf('<div class="notice notice-warning"><p><strong>%s</strong><br>%s</p><p><a href="%s">%s</a></p></div>', sprintf(
            /* translators: %s: Name of deactivated plugin. */
            __('%s plugin deactivated during WordPress upgrade.'),
            $plugin['plugin_name']
        ), $explanation, esc_url(admin_url('plugins.php?plugin_status=inactive')), __('Go to the Plugins screen'));
    }
    // Empty the options.
    update_option('wp_force_deactivated_plugins', array());
    if (is_multisite()) {
        update_site_option('wp_force_deactivated_plugins', array());
    }
}

WordPress Version: 5.8

/**
 * Renders an admin notice when a plugin was deactivated during an update.
 *
 * Displays an admin notice in case a plugin has been deactivated during an
 * upgrade due to incompatibility with the current version of WordPress.
 *
 * @since 5.8.0
 * @access private
 *
 * @global string $pagenow
 * @global string $wp_version
 */
function deactivated_plugins_notice()
{
    if ('plugins.php' === $GLOBALS['pagenow']) {
        return;
    }
    if (!current_user_can('activate_plugins')) {
        return;
    }
    $blog_deactivated_plugins = get_option('wp_force_deactivated_plugins');
    $site_deactivated_plugins = array();
    if (false === $blog_deactivated_plugins) {
        // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
        update_option('wp_force_deactivated_plugins', array());
    }
    if (is_multisite()) {
        $site_deactivated_plugins = get_site_option('wp_force_deactivated_plugins');
        if (false === $site_deactivated_plugins) {
            // Option not in database, add an empty array to avoid extra DB queries on subsequent loads.
            update_site_option('wp_force_deactivated_plugins', array());
        }
    }
    if (empty($blog_deactivated_plugins) && empty($site_deactivated_plugins)) {
        // No deactivated plugins.
        return;
    }
    $deactivated_plugins = array_merge($blog_deactivated_plugins, $site_deactivated_plugins);
    foreach ($deactivated_plugins as $plugin) {
        if (!empty($plugin['version_compatible']) && !empty($plugin['version_deactivated'])) {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.'),
                $plugin['plugin_name'],
                $plugin['version_deactivated'],
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        } else {
            $explanation = sprintf(
                /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version */
                __('%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.'),
                $plugin['plugin_name'],
                (!empty($plugin['version_deactivated'])) ? $plugin['version_deactivated'] : '',
                $GLOBALS['wp_version'],
                $plugin['version_compatible']
            );
        }
        printf('<div class="notice notice-warning"><p><strong>%s</strong><br>%s</p><p><a href="%s">%s</a></p></div>', sprintf(
            /* translators: %s: Name of deactivated plugin */
            __('%s plugin deactivated during WordPress upgrade.'),
            $plugin['plugin_name']
        ), $explanation, esc_url(admin_url('plugins.php?plugin_status=inactive')), __('Go to the Plugins screen'));
    }
    // Empty the options.
    update_option('wp_force_deactivated_plugins', array());
    if (is_multisite()) {
        update_site_option('wp_force_deactivated_plugins', array());
    }
}