diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-admin/plugins.php --- a/wp/wp-admin/plugins.php Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-admin/plugins.php Fri Sep 05 18:52:52 2025 +0200 @@ -71,7 +71,7 @@ if ( ! is_network_admin() ) { $recent = (array) get_option( 'recently_activated' ); unset( $recent[ $plugin ] ); - update_option( 'recently_activated', $recent ); + update_option( 'recently_activated', $recent, false ); } else { $recent = (array) get_site_option( 'recently_activated' ); unset( $recent[ $plugin ] ); @@ -136,7 +136,7 @@ } if ( ! is_network_admin() ) { - update_option( 'recently_activated', $recent ); + update_option( 'recently_activated', $recent, false ); } else { update_site_option( 'recently_activated', $recent ); } @@ -211,7 +211,7 @@ deactivate_plugins( $plugin, false, is_network_admin() ); if ( ! is_network_admin() ) { - update_option( 'recently_activated', array( $plugin => time() ) + (array) get_option( 'recently_activated' ) ); + update_option( 'recently_activated', array( $plugin => time() ) + (array) get_option( 'recently_activated' ), false ); } else { update_site_option( 'recently_activated', array( $plugin => time() ) + (array) get_site_option( 'recently_activated' ) ); } @@ -258,7 +258,7 @@ } if ( ! is_network_admin() ) { - update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ) ); + update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ), false ); } else { update_site_option( 'recently_activated', $deactivated + (array) get_site_option( 'recently_activated' ) ); } @@ -436,7 +436,7 @@ exit; case 'clear-recent-list': if ( ! is_network_admin() ) { - update_option( 'recently_activated', array() ); + update_option( 'recently_activated', array(), false ); } else { update_site_option( 'recently_activated', array() ); } @@ -566,7 +566,7 @@ '

' . __( 'The search for installed plugins will search for terms in their name, description, or author.' ) . ' ' . __( 'The search results will be updated as you type.' ) . '

' . '

' . sprintf( /* translators: %s: WordPress Plugin Directory URL. */ - __( 'If you would like to see more plugins to choose from, click on the “Add New Plugin” button and you will be able to browse or search for additional plugins from the WordPress Plugin Directory. Plugins in the WordPress Plugin Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they’re free!' ), + __( 'If you would like to see more plugins to choose from, click on the “Add Plugin” button and you will be able to browse or search for additional plugins from the WordPress Plugin Directory. Plugins in the WordPress Plugin Directory are designed and developed by third parties, and are compatible with the license WordPress uses. Oh, and they are free!' ), __( 'https://wordpress.org/plugins/' ) ) . '

', ) @@ -602,6 +602,19 @@ $help_sidebar_autoupdates = '

' . __( 'Documentation on Auto-updates' ) . '

'; } +if ( current_user_can( 'install_plugins' ) ) { + get_current_screen()->add_help_tab( + array( + 'id' => 'plugins-dependencies', + 'title' => __( 'Dependencies' ), + 'content' => + '

' . __( 'Plugin Dependencies aims to make the process of installing and activating add-ons (dependents) and the plugins they rely on (dependencies) consistent and easy.' ) . '

' . + '

' . __( 'If a required plugin is deleted, a notice will be displayed on the Plugin administration screen informing the user that there is some missing dependencies to install and/or activate. Additionally, each plugin whose dependencies are not met will have an error notice on their plugin row.' ) . '

' . + '

' . __( 'If a dependent plugin is missing some dependencies, its activation button will be disabled until the required dependencies are activated.' ) . '

', + ) + ); +} + get_current_screen()->set_help_sidebar( '

' . __( 'For more information:' ) . '

' . '

' . __( 'Documentation on Managing Plugins' ) . '

' . @@ -754,7 +767,7 @@ - +