diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index 1f6d7aa9d8..e3016258cd 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -3619,16 +3619,20 @@ function wp_ajax_install_plugin() { } $install_status = install_plugin_install_status( $api ); + $pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : ''; + + // If install request is coming from import page, do not return network activation link. + $plugins_url = ( 'import' === $pagenow ) ? admin_url( 'plugins.php' ) : network_admin_url( 'plugins.php' ); if ( current_user_can( 'activate_plugins' ) && is_plugin_inactive( $install_status['file'] ) ) { $status['activateUrl'] = add_query_arg( array( '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $install_status['file'] ), 'action' => 'activate', 'plugin' => $install_status['file'], - ), network_admin_url( 'plugins.php' ) ); + ), $plugins_url ); } - if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) { + if ( is_multisite() && current_user_can( 'manage_network_plugins' ) && 'import' !== $pagenow ) { $status['activateUrl'] = add_query_arg( array( 'networkwide' => 1 ), $status['activateUrl'] ); } diff --git a/src/wp-admin/js/updates.js b/src/wp-admin/js/updates.js index 6c5907dfac..200241b853 100644 --- a/src/wp-admin/js/updates.js +++ b/src/wp-admin/js/updates.js @@ -1876,6 +1876,7 @@ wp.updates.installPlugin( { slug: $button.data( 'slug' ), + pagenow: pagenow, success: wp.updates.installImporterSuccess, error: wp.updates.installImporterError } );