deactivated_plugins_notice()
最后更新于:2021-11-25 23:12:06
deactivated_plugins_notice()Renders an admin notice when a plugin was deactivated during an update.
源文件
文件: gc-admin/includes/plugin.php
function deactivated_plugins_notice() {
if ( 'plugins.php' === $GLOBALS['pagenow'] ) {
return;
}
if ( ! current_user_can( 'activate_plugins' ) ) {
return;
}
$blog_deactivated_plugins = get_option( 'gc_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( 'gc_force_deactivated_plugins', array() );
}
if ( is_multisite() ) {
$site_deactivated_plugins = get_site_option( 'gc_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( 'gc_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 GC version, 4: Compatible plugin version */
__( '%1$s %2$s was deactivated due to incompatibility with GeChiUI %3$s, please upgrade to %1$s %4$s or later.' ),
$plugin['plugin_name'],
$plugin['version_deactivated'],
$GLOBALS['gc_version'],
$plugin['version_compatible']
);
} else {
$explanation = sprintf(
/* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current GC version */
__( '%1$s %2$s was deactivated due to incompatibility with GeChiUI %3$s.' ),
$plugin['plugin_name'],
! empty( $plugin['version_deactivated'] ) ? $plugin['version_deactivated'] : '',
$GLOBALS['gc_version'],
$plugin['version_compatible']
);
}
printf(
'<div class="notice notice-warning"><p><strong>%s</strong><br>%s</p><p><a href="https://docs.gechiui.com/functions/deactivated_plugins_notice/%s">%s</a></p></div>',
sprintf(
/* translators: %s: Name of deactivated plugin */
__( '%s plugin deactivated during GeChiUI upgrade.' ),
$plugin['plugin_name']
),
$explanation,
esc_url( admin_url( 'plugins.php?plugin_status=inactive' ) ),
__( 'Go to the Plugins screen' )
);
}
// Empty the options.
update_option( 'gc_force_deactivated_plugins', array() );
if ( is_multisite() ) {
update_site_option( 'gc_force_deactivated_plugins', array() );
}
}