Commit Graph
9174 Commits
Author SHA1 Message Date
Felix Arntz 7f6adbb345 Bootstrap/Load: Ensure WP_Fatal_Error_Handler does not conflict with existing mechanisms treating fatal errors.
Prior to this change, resuming or activating a plugin or theme that is still broken would result in a redirect loop if in recovery mode. If outside recovery mode, it would cause the error template to be displayed.

Furthermore this applies to breaking a plugin or theme when editing from the backend.

Props aandrewdixon, azaozz, dhanukanuwan, henrywright, ocean90, ohiosierra, PandelisZ, xkon.
Fixes #46045, #46751.


git-svn-id: https://develop.svn.wordpress.org/trunk@45114 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-05 15:19:50 +00:00
Andrew Ozz 9945849317 Site health: fix usage of max_execution_time. When PHP is run from the cli the default is 0.
Fixes #46645.

git-svn-id: https://develop.svn.wordpress.org/trunk@45111 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-04 21:53:45 +00:00
Andrew Ozz d5d4979921 Site health:
- Prevent fatal errors from timeouts on the Tools => Site Health => Info tab.
- Use the `get_dirsize()` and `recurse_dirsize()` functions to calculate directory sizes. The results are cached.
- Introduce "timeout protection" in `recurse_dirsize()`.

Props pento, Clorith, xkon, afercia, jeremyfelt, azaozz.
Fixes #46645.

git-svn-id: https://develop.svn.wordpress.org/trunk@45104 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 23:32:31 +00:00
Sergey Biryukov f4e57f92e4 Widgets: Make sure changes to media widgets' instance schema via widget_{$this->id_base}_instance_schema filter are not overridden by subclasses.
Previously, `WP_Widget_Media_Audio`, `WP_Widget_Media_Image`, and `WP_Widget_Media_Video` used to override the changes due to reversed arguments in `array_merge()` call.

Props Toro_Unit, birgire.
Fixes #45029.

git-svn-id: https://develop.svn.wordpress.org/trunk@45100 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 22:12:11 +00:00
Jonathan Desrosiers 91ac8aeefc Administration: Remove unnecessary transition-delay values from Dashicons.
A unitless `0` value for a `<time>` CSS data type was reintroduced in [45040]. This is allowed for `<length>` data types, but is invalid for `<time>`.

See #43195.
Fixes #46774.

git-svn-id: https://develop.svn.wordpress.org/trunk@45097 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-02 13:18:35 +00:00
Sergey Biryukov 9cc5e3e760 Docs: Correct @param description for remove_theme_support().
Add `@return` description for `current_theme_supports()`.

See #46543.

git-svn-id: https://develop.svn.wordpress.org/trunk@45089 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 16:20:05 +00:00
Sergey Biryukov 28e7acf168 Customize: Only add custom-background to body_class() if the current theme supports custom background.
Props wido, swissspidy, ocean90, Mte90.
Fixes #38168.

git-svn-id: https://develop.svn.wordpress.org/trunk@45088 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 16:17:11 +00:00
Sergey Biryukov fe0db882c5 Docs: Correct parameter types for the_author(), get_the_author_meta(), and the_author_meta().
Props subrataemfluence.
Fixes #45596.

git-svn-id: https://develop.svn.wordpress.org/trunk@45086 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 14:22:06 +00:00
Sergey Biryukov 6abcd97c8c I18N: Merge similar strings about allowed space allocation in Multisite.
Props ramiy, Jonathandejong, pento.
Fixes #42223.

git-svn-id: https://develop.svn.wordpress.org/trunk@45082 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 12:23:54 +00:00
Sergey Biryukov f6dadb3738 Themes: Link to an updated documentation on child themes on developer.wordpress.org, instead of Codex.
Props man4toman.
See #46450.

git-svn-id: https://develop.svn.wordpress.org/trunk@45080 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-01 11:54:23 +00:00
Sergey Biryukov 0fc5c3adaf Administration: Fix typo in fatal error email notification.
Props kraftbj.
Fixes #46722.

git-svn-id: https://develop.svn.wordpress.org/trunk@45077 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-30 18:53:21 +00:00
Andrew Ozz 752f99c5df TinyMCE:
- Fix adding the keyboard shortcuts to all button tooltips in the classic editor and classic block.
- Fix translating the aria labels for all buttons.

Fixes #35710;

git-svn-id: https://develop.svn.wordpress.org/trunk@45066 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-29 00:48:31 +00:00
John Blackbourn 8af4ca2f4c Options, Meta APIs: Ensure the $object_id parameter passed to the delete_{$meta_type}_meta and deleted_{$meta_type}_meta filters is always an integer.
Props salcode

Fixes #43561


git-svn-id: https://develop.svn.wordpress.org/trunk@45064 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:58:45 +00:00
John Blackbourn beb4a31c36 Embeds: Update the Crowdsignal embed handler so that surveys on subdomains are supported.
Props kraftbj

Fixes #46467


git-svn-id: https://develop.svn.wordpress.org/trunk@45061 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:26:20 +00:00
John Blackbourn 60a92eb070 Themes: Introduce a generic action that's fired when a template part is loaded.
This action allows debugging mechanisms to perform greater introspection into which template parts are loaded for any given request. It also exposes the array of candidate template part file names for each template part instance.

Props pcfreak30, jdeeburke

Fixes #41575


git-svn-id: https://develop.svn.wordpress.org/trunk@45059 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:12:20 +00:00
Aaron Jorbin a66e27efc4 PHP: Finish updating PHP Minimum version
Previous [44982] and [44950].

This bumps the minimum version down slightly based on some research into the usage of php 5.6. This also brings the recommended version in line with https://wordpress.org/about/requirements/ . 

The travis matrix is also being reduced in order to speed up builds. This is a hard break. PHP 5.2 - 5.5 we are never ever, ever, getting back together. You go talk to your friends, talk to my friends, talk to me, But we are never ever, ever, ever getting back together.

Props DD32, afergen for research.
Fixes #46594.



git-svn-id: https://develop.svn.wordpress.org/trunk@45058 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 21:11:29 +00:00
Sergey Biryukov 77c1afd744 Docs: Fix typo in xmlrpc_chunk_parsing_size filter description.
Props lord_viper.
Fixes #46701.

git-svn-id: https://develop.svn.wordpress.org/trunk@45054 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-28 16:52:39 +00:00
Gary Pendergast c833087131 Post WordPress 5.2 Beta 1 version bump.
git-svn-id: https://develop.svn.wordpress.org/trunk@45048 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 23:35:41 +00:00
Gary Pendergast 590d29da6c WordPress 5.2 Beta 1.
git-svn-id: https://develop.svn.wordpress.org/trunk@45047 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 23:19:08 +00:00
Sergey Biryukov 0612bb00e0 Plugins: In wp_update_php_annotation(), only display the annotation and the surrounding tags if it's not empty.
Props afragen.
Fixes #46678.

git-svn-id: https://develop.svn.wordpress.org/trunk@45045 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 22:36:37 +00:00
Gary Pendergast 1ab6f67ef5 Site Health: Improve the "Copy to clipboard" button.
The previous method for copying the debug report to the clipboard involved having a hidden `<textarea>`, but this shows up in screen readers and can't be reliably hidden.

To work around this, the button now uses the `clipboard.js` library, which automatically handles browser differences in the Clipboard API, and can load the text to copy from a `data-` attribute on the button.

Props pento, hedgefield, afercia.
Fixes #46647.



git-svn-id: https://develop.svn.wordpress.org/trunk@45044 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 22:30:26 +00:00
Adam Silverstein 01882f477b Bundled Theme: trigger a new wp_body_open action immediately after the opening body tag.
* Enables inserting (asynchronous) JavaScript right after the opening `body` tag.
* Add a `wp_body_open` helper function that triggers the `wp_body_open` action.
* Call `wp_body_open` in core themes immediately after the opening `body` tag.

Props joostdevalk, valendesigns, nacin, saracup, jorbin, mikeschinkel, jonnybojangles, lgedeon, Willscrlt, Denis-de-Bernardy, lexiqueen, sky_76, welcher, westonruter, ramiy, joyously.
Fixes #12563.


git-svn-id: https://develop.svn.wordpress.org/trunk@45042 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 21:58:38 +00:00
Jonathan Desrosiers 689ffb5918 Administration: Fix Dashicon backwards compatibility issues.
In [44940], the Dashicon files in core were updated to contain the latest version of the font from the GitHub repo. This change follows that up by fixing several backwards compatibility issues caused by the new build process used to generate the font files and fixes the missing menu icon when viewing the admin on small screens.

- `buddicons-bbpress-logo (f12b)` was moved back to the correct location of `f477`.
- `editor-ltr (f129)` was moved back to the correct location of `f10c`.
- `email-alt2 (f10a)` was moved to the correct location of `f467`. 

The following icons were restored to their previous locations:

- `camera-alt (f129)`
- `edit-large (f327)`
- `editor-distractionfree (f211)`
- `update-alt (f113)`
- `twitter-alt (f302)`
- `text-page (f121)`
- `plugins-checked (f485)`
- `menu-alt3 (f349)`
- `menu-alt2 (f329)`
- `menu-alt (f228)`
- Duplicate lock icon at location `f315`
- Duplicate `editor-code` icon at location `f494`
- `arrow-up` at `f143`.

The `editor-ltr` and `editor-rtl` icons had also been switched. The arrows now point in the correct directions at the correct Unicode locations (`f10c` and `f320` respectively).

And, lastly, this change also introduces the `code-standards (f13a)` icon that was not included in the previous build.

Props afercia, earnjam, oztaser, joen, cathibosco1, ianbelanger, desrosj.
See #41074.
Fixes #46611.

git-svn-id: https://develop.svn.wordpress.org/trunk@45040 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 19:58:18 +00:00
Sergey Biryukov b957460b7b Privacy: Ensure the privacy data erase fulfillment email is sent in the locale of the user whose data is being erased (or the site's default locale if they are not a registered user) when the administrator fulfilling the request uses a different locale.
Props desrosj, birgire, garrett-eclipse.
Fixes #44721.

git-svn-id: https://develop.svn.wordpress.org/trunk@45039 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 19:41:01 +00:00
Andrea Fercia e2aa3c5efe Accessibility: Improve the "Alt text" description.
Moves the word "Describe" within the link.

Amends [44900].
See #41612.


git-svn-id: https://develop.svn.wordpress.org/trunk@45038 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 18:46:12 +00:00
John Blackbourn 440a383946 Docs: Correct the documentation for the oEmbed HTML filtering.
See #46543


git-svn-id: https://develop.svn.wordpress.org/trunk@45037 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 17:13:49 +00:00
John Blackbourn 05ac419795 Docs: Improve the documentation for metadata related filter parameters.
See #46543


git-svn-id: https://develop.svn.wordpress.org/trunk@45036 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 17:09:35 +00:00
John Blackbourn 6a3bab9848 Docs: Correct some documentation typos.
See #46543


git-svn-id: https://develop.svn.wordpress.org/trunk@45035 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 17:08:04 +00:00
Sergey Biryukov 432d968df6 Docs: Correct back-compat reference to $excluded_categories in get_adjacent_post().
See #46543, #17673.

git-svn-id: https://develop.svn.wordpress.org/trunk@45033 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 14:44:31 +00:00
Sergey Biryukov fe85d77b48 General: Pass $pagenum argument to get_pagenum_link filter.
Props dimadin.
Fixes #46667.

git-svn-id: https://develop.svn.wordpress.org/trunk@45031 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 14:23:24 +00:00
Sergey Biryukov f4e535df1b Bootstrap/Load: Restore $wp_version global check in WP_Locale::init(), previously replaced with get_bloginfo( 'version' ) in [38459].
`wp_load_translations_early()` can be called in contexts where `get_bloginfo()` is not available yet, e.g. in `wp_check_php_mysql_versions()`.

Props shazdeh, parsmizban.
Fixes #41092.

git-svn-id: https://develop.svn.wordpress.org/trunk@45029 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 13:26:50 +00:00
Sergey Biryukov 7ad9fb7e7c Themes: Remove itemprop="url" from get_custom_logo() output.
Making incorrect assumptions about microdata used in a theme results in invalid markup.

The attribute can still be added using the `get_custom_logo` or `wp_get_attachment_image_attributes` filter, but it should not be added by default.

Props henry.wright, tfrommen, afercia, markcallen, zodiac1978.
Fixes #37305.

git-svn-id: https://develop.svn.wordpress.org/trunk@45028 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 12:15:15 +00:00
Sergey Biryukov c454b24d92 PHPCS: Fix WPCS violations in [45023].
See #46620.

git-svn-id: https://develop.svn.wordpress.org/trunk@45025 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 00:35:34 +00:00
Sergey Biryukov a630f23731 Embeds: Scribd: Add support for /document/ URL format, in addition to /doc/.
Props manzoorwani.jk, neobabis, swissspidy.
Fixes #46444.

git-svn-id: https://develop.svn.wordpress.org/trunk@45024 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 00:33:47 +00:00
Sergey Biryukov b324c419ec Bootstrap/Load: In fatal error handler, pass the error information through to error template and associated filters: wp_php_error_message, wp_php_error_args.
This allows the custom error handler and default error message filters to inspect the error and perform logic based on its properties.

Props johnbillion.
Fixes #46620.

git-svn-id: https://develop.svn.wordpress.org/trunk@45023 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 00:15:23 +00:00
Sergey Biryukov dd7caf0fd3 PHPCS: Remove extra tab added in [45019].
See #45974.

git-svn-id: https://develop.svn.wordpress.org/trunk@45022 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 00:02:34 +00:00
Sergey Biryukov cdd034f80f Bootstrap/Load: Use wp_die() instead of hardcoded HTML in wp_maintenance(), so the output can be filtered by plugins.
Props spacedmonkey.
Fixes #45974.

git-svn-id: https://develop.svn.wordpress.org/trunk@45019 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 23:38:37 +00:00
Sergey Biryukov fd2c97766f Docs: Fix typo in wp_is_xml_request() description.
See #46026.

git-svn-id: https://develop.svn.wordpress.org/trunk@45018 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 23:20:29 +00:00
Sergey Biryukov 20ede58996 Docs: Improve documentation for wp_die() handlers after [45015] and [45016].
See #46543, #46025, #46026.

git-svn-id: https://develop.svn.wordpress.org/trunk@45017 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 23:17:36 +00:00
Sergey Biryukov 013a095ef4 Bootstrap/Load: Add support for XML requests to wp_die().
In addition to AJAX, XML-RPC, JSON, and JSONP requests, `wp_die()` now handles XML requests correctly, returning information in the expected content type.

Props spacedmonkey, birgire.
Fixes #46026. See #44458.

git-svn-id: https://develop.svn.wordpress.org/trunk@45016 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 23:10:21 +00:00
Sergey Biryukov d270e8eb02 Bootstrap/Load: Add support for JSONP requests to wp_die().
In addition to AJAX, XML-RPC, and JSON requests, `wp_die()` now handles JSONP requests correctly, returning information in the expected content type.

Props spacedmonkey, TimothyBlynJacobs.
Fixes #46025. See #44458.

git-svn-id: https://develop.svn.wordpress.org/trunk@45015 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 22:25:47 +00:00
Sergey Biryukov fb7c39f88d Bootstrap/Load: Always run the fatal error handler at shutdown, but don't display the PHP error template once headers are sent.
If a fatal error occurs midway through a page load, or in a REST API request, it still needs to be handled internally for the recovery mode, but the custom message may conflict with already rendered output, e.g. by displaying HTML markup in an XML or JSON request.

Props spacedmonkey, flixos90, TimothyBlynJacobs.
Fixes #45989. See #44458.

git-svn-id: https://develop.svn.wordpress.org/trunk@45014 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-26 20:29:52 +00:00
Gary Pendergast dad6b61cfb Admin: Introduce the Site Health screens.
The Site Health tool serves two purposes:
- Provide site owners with information to improve the performance, reliability, and security of their site.
- Collect comprehensive debug information about the site.

By encouraging site owners to maintain their site and adhere to modern best practices, we ultimately improve the software hygeine of both the WordPress ecosystem, and the open internet as a whole.

Props Clorith, hedgefield, melchoyce, xkon, karmatosed, jordesign, earnjam, ianbelanger, wpscholar, desrosj, pedromendonca, peterbooker, jcastaneda, garyj, soean, pento, timothyblynjacobs, zodiac1978, dgroddick, garrett-eclipse, netweb, tobifjellner, pixolin, afercia, joedolson, birgire.
See #46573.


git-svn-id: https://develop.svn.wordpress.org/trunk@44986 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-23 03:54:16 +00:00
Adam Silverstein 7793e670b8 Multisite: add new sites_pre_query and networks_pre_query filters to short circuit WP_Site_Query and WP_Network_Query queries.
Similar to the `posts_pre_query` filter for WP_Query added in #36687. These filters lets you short circuit the queries to return your own results.

Add a new filter `sites_pre_query` - which returns null by default. Return a non-null value to bypass WordPress's default `get_sites` queries.

Developers should note that filtering functions that require pagination information are encouraged to set the `found_sites` property of the `WP_Site_Query` object, passed to the filter by reference. If `WP_Site_Query` does not perform a database query, it will not have enough information to generate these values itself.

Add a new filter `networks_pre_query` - which returns null by default. Return a non-null value to bypass WordPress's default `get_networks` queries.

Developers should note that filtering functions that require pagination information are encouraged to set the `found_networks` property of the `WP_Network_Query` object, passed to the filter by reference. If `WP_Network_Query` does not perform a database query, it will not have enough information to generate these values itself.

Props spacedmonkey.
Fixes #45749.



git-svn-id: https://develop.svn.wordpress.org/trunk@44983 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 17:25:38 +00:00
Aaron Jorbin 42547da41d PHP: Bump minimum version
95% of 5.6 sites are on 5.6.30 or higher, hence this specific minimum version.

Fixes #46594.




git-svn-id: https://develop.svn.wordpress.org/trunk@44982 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 15:46:56 +00:00
Sergey Biryukov 96922900c5 Plugins: Remove wp_is_wp_compatible() and wp_is_php_compatible() functions added in [44978] for now, to discuss use cases and better naming.
See #46599, #43992.

git-svn-id: https://develop.svn.wordpress.org/trunk@44981 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 12:59:02 +00:00
Sergey Biryukov 1586c43c8d Plugins: Block plugin activation if it requires a higher version of PHP or WordPress.
Introduce `validate_plugin_requirements()` for validating a plugin's WordPress and PHP version requirements.

Introduce `wp_is_wp_compatible()` and `wp_is_php_compatible()` for checking compatibility with the current WordPress or PHP version.

Props afragen, joyously, DrewAPicture, TimothyBlynJacobs, desrosj, flixos90, SergeyBiryukov.
See #43992.

git-svn-id: https://develop.svn.wordpress.org/trunk@44978 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-22 00:36:30 +00:00
Sergey Biryukov 531d83a2f0 I18N: Move the strings for default user roles to wp-includes/capabilities.php, to make the translations available on the front end as well.
Props keraweb, ocean90.
Fixes #37539.

git-svn-id: https://develop.svn.wordpress.org/trunk@44976 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 22:23:00 +00:00
Sergey Biryukov fa0190bcb1 Customize: Add a link to theme reviews in the theme details modal in the Customizer and on Add Themes screen.
Props celloexpressions, Travel_girl, Ixium, marco-peralta, dd32.
Fixes #36612.

git-svn-id: https://develop.svn.wordpress.org/trunk@44975 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 22:01:42 +00:00
Felix Arntz 1f3912e9bf Bootstrap/Load: Introduce a recovery mode for fixing fatal errors.
Using the new fatal handler introduced in [44962], an email is sent to the admin when a fatal error occurs. This email includes a secret link to enter recovery mode. When clicked, the link will be validated and on success a cookie will be placed on the client, enabling recovery mode for that user. This functionality is executed early before plugins and themes are loaded, in order to be unaffected by potential fatal errors these might be causing.

When in recovery mode, broken plugins and themes will be paused for that client, so that they are able to access the admin backend despite of these errors. They are notified about the broken extensions and the errors caused, and can then decide whether they would like to temporarily deactivate the extension or fix the problem and resume the extension.

A link in the admin bar allows the client to exit recovery mode.

Props timothyblynjacobs, afragen, flixos90, nerrad, miss_jwo, schlessera, spacedmonkey, swissspidy.
Fixes #46130, #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44973 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 21:52:07 +00:00