Make WordPress Core

Opened 4 weeks ago

Last modified 2 weeks ago

#46060 new defect (bug)

WSOD protection: admin notices not displaying on network admin screens for paused network activated plugins.

Reported by: pbiron Owned by:
Milestone: 5.2 Priority: normal
Severity: normal Version: trunk
Component: Bootstrap/Load Keywords: servehappy has-patch needs-testing
Focuses: administration Cc:


When a network activated plugin is paused, the plugin shows as such in /wp-admin/network/plugins.php but the "One or more plugins failed to load properly" admin notice does not display on the other network admin screens (like it does on "normal" admin screens).

Attachments (3)

46060.diff (642 bytes) - added by afragen 3 weeks ago.
46060.2.diff (1.7 KB) - added by pbiron 3 weeks ago.
46060.3.diff (1.6 KB) - added by flixos90 3 weeks ago.

Download all attachments as: .zip

Change History (10)

#1 @pento
4 weeks ago

  • Milestone changed from Awaiting Review to 5.1
  • Version set to trunk

3 weeks ago

#2 @afragen
3 weeks ago

  • Keywords has-patch needs-testing added

3 weeks ago

#3 follow-up: @pbiron
3 weeks ago

Hey Andy, thanx for the patch.

46060.2.diff does 2 things:

  1. moves the add_action( 'network_admin_notices', 'paused_plugins_notice', 5 ); from your patch up a few lines to group it with the other "Notices Hooks"
  2. has the link in the notice go to the network plugins screen when viewed from a network admin screen

There is another thing I noticed when testing this patch that probably deserves its own ticket, but I'll mention it here:

  • if a network active plugin is paused and an admin goes to the plugins screen for one of the sites in the network (not the network plugins screen), the "Resume" link for the network paused plugin doesn't actually resume the plugin. I'm too busy at the moment track down why. My guess is either the "resume" logic should check whether the paused plugin is network active or not and act accordingly, or that link should go to the network plugins screen to resume the plugin.

#4 @afragen
3 weeks ago

Hey Paul.

I was really hoping you would find a more complete solution. I was looking to see how the current notice was called and create something similar for network admin. I missed the URL correction.

If you create the new ticket for the other issue I’ll try to dig into it.

#5 in reply to: ↑ 3 @pbiron
3 weeks ago

done: #46097

3 weeks ago

#6 @flixos90
3 weeks ago

46060.3.diff simplifies the change by using self_admin_url(). It furthermore ensures that plugins that are paused on any site in the network are displayed as "paused" in the network admin plugins screen. This was already the case for the row actions, however in the network admin they would never have shown up under the "Paused" tab. If a site had only non-network active plugins that were paused, the network admin could link to the "Paused" tab without that tab actually showing any content in the list.

#7 @flixos90
2 weeks ago

  • Milestone changed from 5.1 to 5.2
Note: See TracTickets for help on using tickets.