Previously the button was output as a part of the per-page option rendering, inline with that input. While this was appropriate for core's usage, the `screen_settings` filter has allowed plugins to place additional items at the bottom of the panel, which a number take advantage of. This leads to confusing situations where plugins that don't save settings via Ajax either have to add their own button or piggyback onto the existing button, which doesn't make any sense in the flow of additional options. It also hinders core from adding any other options that need to be submitted.
Also, when the screen options panel is open, a submit button there is the primary action at that moment. The "Apply" button also does a full page load, which a primary button indicates better.
fixes#34295. see #22222, #23738.
git-svn-id: https://develop.svn.wordpress.org/trunk@35161 602fd350-edb4-49c9-b593-d223f7449a82
This aligns `wp-signup.php` a bit more `with `wp-activate.php` and, among other things, allows a plugin to redirect signup requests.
Props pbearne.
Fixes#17630.
git-svn-id: https://develop.svn.wordpress.org/trunk@35159 602fd350-edb4-49c9-b593-d223f7449a82
When updating a plugin from its details modal dialog, focus should be moved back to the plugin title which now is a H3 heading.
Fixes#33818.
git-svn-id: https://develop.svn.wordpress.org/trunk@35155 602fd350-edb4-49c9-b593-d223f7449a82
If your Multisite installation is one of the relatively few that allows new sites to be registered, either by existing users or by new visitors to your site, a 'Site Language' dropdown menu will now be presented if your network has additional languages installed. This option defaults to the value of the 'Default Language' setting on the Network Admin Settings screen, and is restricted to currently installed languages.
The languages available in this setting can be controlled via the `signup_get_available_languages` filter. To disable it completely, return an empty array.
Fixes#33844
Props DrewAPicture, johnbillion
git-svn-id: https://develop.svn.wordpress.org/trunk@35152 602fd350-edb4-49c9-b593-d223f7449a82
These plugins are only shown to users with the `manage_network_plugins` capability, which is Super Admins by default. This new feature lowers the blood pressure of Super Admins who may browse or search the Plugins listing screen of an individual site, having forgotten that a particular plugin is network-active. Showing inactive network-only plugins here also reduces friction when searching the Plugins listing screen on individual sites.
This change introduces a `show_network_active_plugins` filter which controls whether the network-active plugins and inactive network-only plugins are shown. This can be used to enable this functionality for regular site admininstrators, or, indeed, to disable this functionality for Super Admins.
Fixes#20104
git-svn-id: https://develop.svn.wordpress.org/trunk@35151 602fd350-edb4-49c9-b593-d223f7449a82
Also removes two error strings that were likely never being triggered anyway due to the stricter character matching higher up.
Props atomicjack, bjornjohansen, DrewAPicture.
Fixes#33336.
git-svn-id: https://develop.svn.wordpress.org/trunk@35142 602fd350-edb4-49c9-b593-d223f7449a82
The `create_many()` number should be padded by just one, to account for the
user created by the test suite. Introduced in [35114].
We also don't have to create so many fixtures to run this test.
See #28631.
git-svn-id: https://develop.svn.wordpress.org/trunk@35123 602fd350-edb4-49c9-b593-d223f7449a82
Previously, the cache key included a serialization of `list_terms_exclusions`
callbacks, to ensure that the cache was differentiated properly for different
uses of the `list_terms_exclusions` filter. This strategy was flawed in a
couple of ways: serialization doesn't work equally well for all callable types;
the serialization required reaching into the `$wp_filter` global; serializing
the callback itself didn't properly account for the possibility that the
callback might return different values in different contexts; the cache key
didn't account for other filters that similarly affect the cached values, such
as `terms_clauses`.
We skirt all these issues by concatenating the cache key using the SQL query
string, which will reflect all filters applied earlier in `get_terms()`.
Props boonebgorges, wonderboymusic.
Fixes#21267.
git-svn-id: https://develop.svn.wordpress.org/trunk@35120 602fd350-edb4-49c9-b593-d223f7449a82