Commit Graph
10264 Commits
Author SHA1 Message Date
Sergey Biryukov fbb42b017b External Libraries: Update Moment.js to 2.26.0.
Changelog: https://github.com/moment/moment/compare/2.22.2...2.26.0

This commit also fixes a deprecation warning regarding the usage of `moment.locale()` to set locale properties.

As of Moment.js 2.12.0, `moment.locale()` is deprecated and `moment.updateLocale()` should be used instead.

Additionally, minimize `moment.js` as part of build process to remove the source map reference.

This avoids a `sourceMappingURL` being in the minified file, as we don't ship source maps.

Props yoancutillas, SergeyBiryukov.
Fixes #50408.

git-svn-id: https://develop.svn.wordpress.org/trunk@48075 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-17 17:38:40 +00:00
Pascal Birchler b58973554d Sitemaps: Add XML sitemaps functionality to WordPress.
While web crawlers are able to discover pages from links within the site and from other sites, XML sitemaps supplement this approach by allowing crawlers to quickly and comprehensively identify all URLs included in the sitemap and learn other signals about those URLs using the associated metadata.

See https://make.wordpress.org/core/2020/06/10/merge-announcement-extensible-core-sitemaps/ for more details.

This feature exposes the sitemap index via `/wp-sitemap.xml` and exposes a variety of new filters and hooks for developers to modify the behavior. Users can disable sitemaps completely by turning off search engine visibility in WordPress admin.

This change also introduces a new `esc_xml()` function to escape strings for output in XML, as well as XML support to `wp_kses_normalize_entities()`.

Props Adrian McShane, afragen, adamsilverstein, casiepa, flixos90, garrett-eclipse, joemcgill, kburgoine, kraftbj, milana_cap, pacifika, pbiron, pfefferle, Ruxandra Gradina, swissspidy, szepeviktor, tangrufus, tweetythierry.
Fixes #50117.
See #3670. See #19998.


git-svn-id: https://develop.svn.wordpress.org/trunk@48072 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-17 15:22:49 +00:00
Sergey Biryukov 9c04110b46 Script Loader: Include the script or style handle in _wp_scripts_maybe_doing_it_wrong() message.
This makes the message more helpful and allows for easier debugging.

Props janthiel.
Fixes #50406.

git-svn-id: https://develop.svn.wordpress.org/trunk@48070 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-17 10:14:36 +00:00
TimothyBlynJacobs 2b42ac5a12 REST API: Only register one block renderer route.
Every block has a different set of attributes. These attributes are specified as a JSON Schema object. Previously, every block registered its own block renderer route using its attributes for the schema. This allowed for the attributes to be validated using the built in endpoint validation rules. It had the unfortunate side effect, however, of creating a large number of nearly identical REST API routes, one for each dynamic block. Each registered route has a performance impact. As the number of server side blocks goes up, this becomes more and more of an issue.

Now, we register a single block renderer route and dynamically validate the attributes based on the selected block.

Fixes #48079.
Props gziolo, TimothyBlynJacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@48069 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-17 03:20:02 +00:00
Sergey Biryukov 34b6e12529 Docs: List the expected return type first for size_format() and wp_get_original_referer().
Follow-up to [46696], [47060].

See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48068 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 21:22:09 +00:00
Sergey Biryukov 3bdf8b7b02 Docs: Consistently include an empty line between @since tag and @see, @link, or @global, per the documentation standards.
See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48067 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 21:05:20 +00:00
Sergey Biryukov 9f11a8414f Text Changes: Replace "webmaster" with "site admin" in register_new_user().
Follow-up to [48049], accidentally reverted in [48059].

Props kebbet.
See #50394.

git-svn-id: https://develop.svn.wordpress.org/trunk@48066 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 20:03:13 +00:00
Sergey Biryukov eff94648d7 Coding Standards: Rename the $clean or $ids variable in several functions to $non_cached_ids for clarity.
* `_get_non_cached_ids()`
* `update_meta_cache()`
* `update_object_term_cache()`

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@48065 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 19:07:04 +00:00
Jake Spurlock d17a57a945 Themes: Add additional later escaping to post_class() and body_class() functions.
Additionally, this adds a few tests to test output.

Fixes #20009.

Props mfields, scribu, azaozz, obenland, dd32, nacin, jrf, jdgrimes, garyj, whyisjake. 
 


git-svn-id: https://develop.svn.wordpress.org/trunk@48060 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 16:55:45 +00:00
Andrea Fercia 50ece6d31c I18N: Remove the "Error:" prefix from error messages.
For a number of years, most of the WordPress error messages have been prefixed with "Error:". However, these messages appear in a context where it's already clear an error occurred. Whether it's an error, a warning, or any other classification, that's not so relevant for users. The content of the message is the relevant part. The "Error:" prefix doesn't add great value while it does add unnecessary complexity for the message readability.

Also, revises some of these messages to improve clarity and removes HTML from translatable strings.

Props garrett-eclipse, ramiy, SergeyBiryukov, afercia, sabernhardt, quadthemes, audrasjb. 
See #47003, #43037, #42945, #15887.
Fixes #47656.


git-svn-id: https://develop.svn.wordpress.org/trunk@48059 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 15:33:37 +00:00
Sergey Biryukov 727249cfc6 Customize: Introduce get_custom_logo_image_attributes filter for the list of custom logo image attributes.
Props achbed, dlh, westonruter.
Fixes #36640.

git-svn-id: https://develop.svn.wordpress.org/trunk@48057 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 11:47:31 +00:00
Jake Spurlock cbc71bb1a1 Administration: Remove wp-auth-check from the Heartbeat API.
As of [27153], wp-auth-check is returned on all heartbeats without the need for data from client-side. This also means that the timing and scheduling of this request data is ineffectual.

Fixes #50305.

Props dsixinetu, azaozz, whyisjake.



git-svn-id: https://develop.svn.wordpress.org/trunk@48056 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 07:07:54 +00:00
Jake Spurlock def933ced7 Cache API: Add wp_cache_get_multiple() to core functions.
* `update_object_term_cache`
* `update_meta_cache`
* `_get_non_cached_ids`

See [47938].

Fixes #50352.

Props spacedmonkey, tillkruss, lukecavanagh. 



git-svn-id: https://develop.svn.wordpress.org/trunk@48055 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 06:28:57 +00:00
Jake Spurlock acf0f67a43 I18N: Add i18n to size_format().
Add translatable strings to the units of the `size_format()` function.

Props Rahe, audrasjb, ocean90.

Fixes #50194.



git-svn-id: https://develop.svn.wordpress.org/trunk@48054 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 06:08:07 +00:00
Jake Spurlock 78747f9353 REST API: Allow queries other than the main query to be is_home.
Ensure that REST API calls can match the main query of the page. 

See #34373.

Fixes #50213.

Props: dlh, TimothyBlynJacobs, boonebgorges, joemcgill, whyisjake. 



git-svn-id: https://develop.svn.wordpress.org/trunk@48053 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-16 06:02:55 +00:00
Sergey Biryukov 00c0913c1f Text Changes: Replace "Webmaster" in output messages with more appropriate terms:
* "All at `###SITENAME###`" in `wp-admin/ms-delete-site.php`, for consistency with other Multisite emails.
* "Site admin" in `register_new_user()`, for clarity.

Props Presskopp, marybaum.
Fixes #50394.

git-svn-id: https://develop.svn.wordpress.org/trunk@48049 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-15 19:39:32 +00:00
Jonathan Desrosiers dfcbff2db0 Emoji: Upgrade Twemoji to version 13.0.0.
🥸

Props kraftbj, desrosj, otto42.
Fixes #50148.

git-svn-id: https://develop.svn.wordpress.org/trunk@48048 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-15 18:02:14 +00:00
Jonathan Desrosiers 6d10290267 General: Continuing to work towards a passing PHP Compatibility scan.
- Add `phpcs:ignore` statements to compatibility checks in PHPMailer.
- Remove quotes around the assertion in an `assert()` call. This will trigger a deprecated notice under certain conditions on PHP 7.2.

Props jrf, desrosj.
See #49922, #48033.

git-svn-id: https://develop.svn.wordpress.org/trunk@48045 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-15 14:54:23 +00:00
Sergey Biryukov d9c53241dc Networks and Sites: Don't unnecessarily switch to the current blog in get_blog_details().
Props arpitgshah, djennez, acsnaterse, joostdevalk, SergeyBiryukov.
Fixes #50391.

git-svn-id: https://develop.svn.wordpress.org/trunk@48044 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-15 12:29:13 +00:00
Sergey Biryukov eb06a59f53 Posts, Post Types: Introduce default_category_post_types filter.
The filter allows custom post types associated with the `category` taxonomy to opt in to requiring a default category, same as regular posts.

Props enrico.sorcinelli.
Fixes #43516.

git-svn-id: https://develop.svn.wordpress.org/trunk@48043 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-14 21:40:10 +00:00
Sergey Biryukov d7b5385f04 Accessibility: Themes: Don't link to the home page in get_custom_logo() when it's displayed on the home page.
Props Soean, audrasjb, sabernhardt, FlorianBrinkmann, rianrietveld, afercia, joedolson, samful, knutsp, SergeyBiryukov.
See #37011.

git-svn-id: https://develop.svn.wordpress.org/trunk@48039 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-14 10:00:47 +00:00
Sergey Biryukov 73280035e6 External Libraries: Update Masonry to 4.2.2 and imagesLoaded to 4.1.4.
Notable changes include dropping support for IE 8 & 9, which are no longer supported by WordPress core either.

Release notes:
https://github.com/desandro/masonry/releases
https://github.com/desandro/imagesloaded/releases

Changelogs:
https://github.com/desandro/masonry/compare/v3.3.2...v4.2.2
https://github.com/desandro/imagesloaded/compare/v3.2.0...v4.1.4

Props pierlo, hareesh-pillai, grapplerulrich, pderksen, desrosj, garrett-eclipse, SergeyBiryukov.
Fixes #37675, #48031.

git-svn-id: https://develop.svn.wordpress.org/trunk@48038 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-13 18:51:07 +00:00
Sergey Biryukov de4d6b454b External Libraries: Add class aliases for phpmailerException and SMTP to deprecated files to account for the new namespace.
This ensures backward compatibility with plugins using the old `class-phpmailer.php` or `class-smtp.php` files.

Follow-up to [48033].

Props Otto42.
Fixes #50379. See #41750.

git-svn-id: https://develop.svn.wordpress.org/trunk@48035 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-12 21:40:52 +00:00
Timothy Jacobs eddef0565c External Libraries: Skip deprecated file warning for PHPMailer if the API is not loaded.
In [48033] the "class-phpmailer.php" file was deprecated. In test suites, this file is loaded before WordPress in order to setup a mock PHPMailer instance. This means that for test suites that are still loading that file, they'll experience fatal errors due to the undefined "_deprecated_file" function.

This commit skips issuing the deprecated file warning if the "_deprecated_file" function is not available.

Fixes #50380.


git-svn-id: https://develop.svn.wordpress.org/trunk@48034 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-12 21:08:08 +00:00
Jonathan Desrosiers 0933882c6e External Libraries: Upgrade PHPMailer to version 6.1.6.
Now that WordPress Core supports PHP >= 5.6, the PHPMailer library can be updated to the latest version.

The PHPMailer files now reside in a new directory, `wp-includes/PHPMailer`. These files are copied verbatim from the library upstream and will make updating in the future easier. For backwards compatibility, the old files will remain and trigger deprecated file warnings.

The PHPMailer class is also now under the `PHPMailer\PHPMailer\PHPMailer` namespace. The `PHPMailer` class in the global namespace has been aliased for a seamless transition.

This upgrade also clears up a handful of PHP compatibility issues detailed in #49922.

For a full list of changes, see the PHPMailer GitHub: https://github.com/PHPMailer/PHPMailer/compare/v5.2.27...v6.1.6.

Props Synchro, SergeyBiryukov, desrosj, donmhico, ayeshrajans.
Fixes #41750.

git-svn-id: https://develop.svn.wordpress.org/trunk@48033 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-12 15:45:30 +00:00
Sergey Biryukov 96da995104 Canonical: Revert [47937] pending unit tests and further review.
Props needle.
See #12456.

git-svn-id: https://develop.svn.wordpress.org/trunk@48026 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-11 10:53:06 +00:00
Jake Spurlock 2efbc51712 Editor: Ensure latest comments can only be viewed from public posts.
Props: poena, xknown. 


git-svn-id: https://develop.svn.wordpress.org/trunk@47984 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-10 19:18:50 +00:00
Jake Spurlock 9173df8e25 Formatting: Ensure that wp_validate_redirect() sanitizes a wider variety of characters.
Props: xknow, vortfu.



git-svn-id: https://develop.svn.wordpress.org/trunk@47949 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-10 16:44:14 +00:00
Jake Spurlock fe83aca573 Embeds: Ensure that the title attribute is set correctly on embeds.
Props xknown.


git-svn-id: https://develop.svn.wordpress.org/trunk@47947 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-10 16:34:18 +00:00
Sergey Biryukov 4d506a300f Docs: Add missing documentation for the $group parameter of WP_Object_Cache::get_multiple().
Synchronize documentation between `wp_cache_get_multiple()`, its compat version, and the class method.

See #20875.

git-svn-id: https://develop.svn.wordpress.org/trunk@47944 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-10 09:55:56 +00:00
Timothy Jacobs ddf897db05 REST API: Fix updating "multiple" meta keys with non-string values.
Previously, the REST API would end up deleting each row of metadata and recreating it unnecessarily. This was caused by a type mismatch where the metadata API would always return a string value, and the REST API operated on a typed value.

The REST API now applies the same sanitization and type casting for "multiple" meta keys and "single" meta keys.

Fixes #49339.
Props renathoc.


git-svn-id: https://develop.svn.wordpress.org/trunk@47943 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-10 02:20:18 +00:00
Jonathan Desrosiers 45e9cb7066 Coding Standards: Cleans up some PHPCS issues introduced in [47938].
See #20875.

git-svn-id: https://develop.svn.wordpress.org/trunk@47942 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 22:40:50 +00:00
Jake Spurlock 128b5b8491 Cache API: Include the cache-compat file.
This was missed during the prior commit.

See [47938].



git-svn-id: https://develop.svn.wordpress.org/trunk@47939 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 19:48:18 +00:00
Jake Spurlock d4d78e4ae7 Cache API: Introduce wp_cache_get_multi().
Many caching backend have support for multiple gets in a single request. This brings that support to core, with a compatability fallback that will loop over requests if needed.

Fixes: #20875.
Props: nacin, tollmanz, wonderboymusic, ryan, jeremyfelt, spacedmonkey, boonebgorges, dd32, rmccue, ocean90, jipmoors, johnjamesjacoby, tillkruess, donmhico, davidbaumwald, SergeyBiryukov, whyisjake.



git-svn-id: https://develop.svn.wordpress.org/trunk@47938 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 19:45:27 +00:00
Jake Spurlock 78d1ab2ed4 Canonical: Ensure a redirect for posts missing postname in a query with an ID.
If a site is using `/%post_id%/%postname%/` as permalink structure, and is missing the `postname`, the site  won't redirect to the appropriate URL. This change ensure that the redirect happens.

Fixes: #12456.
Props: Frank.Prendergast, dd32, Otto42, hlanggo, wonderboymusic, atimmer, seth17, calvin_ngan, Niresh12495, anbumz, SergeyBiryukov, donmhico.




git-svn-id: https://develop.svn.wordpress.org/trunk@47937 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 19:24:23 +00:00
Sergey Biryukov 137443482c Docs: Fix typo in WP_Widget::__construct() and ::WP_Widget() DocBlocks.
Props SUM1.
Fixes #50348.

git-svn-id: https://develop.svn.wordpress.org/trunk@47936 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 15:35:10 +00:00
Sergey Biryukov df3bd5ecb0 Docs: Improve documentation for is_active_sidebar().
The function determines whether the sidebar contains widgets, not that it is loaded on the page.

Props SUM1.
Fixes #50347.

git-svn-id: https://develop.svn.wordpress.org/trunk@47935 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 15:29:57 +00:00
Sergey Biryukov 65f22692bb Networks and Sites: Ensure the site ID in wp_insert_site() is still correct after calling clean_blog_cache().
By saving `$wpdb->insert_id` to a variable, we make sure the ID does not change if another database insert is performed on the `clean_site_cache` action.

Props trepmal.
Fixes #50324.

git-svn-id: https://develop.svn.wordpress.org/trunk@47932 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 12:39:09 +00:00
Sergey Biryukov eb1c55a7ac Docs: Document that get_tags() returns a WP_Error object if any of the specified taxonomies do not exist.
Props coffee2code.
Fixes #50344.

git-svn-id: https://develop.svn.wordpress.org/trunk@47930 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-09 11:12:57 +00:00
Jonathan Desrosiers ba994f6c09 Coding Standards: PHP short ternary operator syntax is not allowed.
WPCS 2.2.0 added a sniff for detecting short ternary operator syntax, which is not allowed per the Core handbook.

Follow up of [47927].
Fixes #50258.

git-svn-id: https://develop.svn.wordpress.org/trunk@47929 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-08 21:25:46 +00:00
Jonathan Desrosiers f40f5885e5 General: Remove or add inline comments to $HTTP_RAW_POST_DATA occurrences.
The `$HTTP_RAW_POST_DATA` global was deprecated in PHP 5.6 and removed completely in PHP 7.0. In general, `php://input` should be used instead of `$HTTP_RAW_POST_DATA`.

Because WordPress Core still supports PHP 5.6, some plugins or sites may still rely on this variable being present and populated with the expected data. For that reason, occurrences of the variable will remain with updated inline documentation until support for PHP 5.6 is officially dropped in WordPress.

Props skoskie, jrf, desrosj, TimothyBlynJacobs.
See #49922.
Fixes #49810.

git-svn-id: https://develop.svn.wordpress.org/trunk@47926 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-08 19:53:19 +00:00
Timothy Jacobs f5dde31290 REST API: Support the (min|max)Items JSON Schema keywords.
A future commit will add support for the uniqueItems keyword.

Props sorenbronsted.
See #48821.


git-svn-id: https://develop.svn.wordpress.org/trunk@47923 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-07 22:40:16 +00:00
Sergey Biryukov d3387a2161 Posts, Post Types: Display a more specific error message when an attachment could not be inserted into the database.
Props shital-patel, Presskopp, ocean90.
Fixes #50325.

git-svn-id: https://develop.svn.wordpress.org/trunk@47922 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-07 09:22:07 +00:00
Timothy Jacobs 4fb1e58c50 REST API: Add additional fields to the themes controller.
When the themes controller was introduced it only returned a theme's supported features. This adds the majority of a theme's header information to the response.

Props ockham, spacedmonkey.
Fixes #49906.


git-svn-id: https://develop.svn.wordpress.org/trunk@47921 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-07 06:44:08 +00:00
Peter Wilson 602faebb0d Block Editor: Update wp-includes/assets/script-loader-packages.php.
Follow-up to [47765], [47766].
See #50094.


git-svn-id: https://develop.svn.wordpress.org/trunk@47920 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-07 01:27:39 +00:00
Sergey Biryukov 09aaa76452 Bootstrap/Load: Introduce wp_get_environment_type() to retrieve the current environment type.
The type can be set via the `WP_ENVIRONMENT_TYPE` global system variable, a constant of the same name, or the `wp_get_environment_type` filter.

Possible values include `development`, `stage`, `production'. If not set, the type defaults to `production`.

Props Clorith, krogsgard, joostdevalk, frank-klein, Maelacuna, nathanrice, grierson, jchristopher, davidvee, jackfungi, johnbillion, tabrisrp, knutsp, ev3rywh3re, Rastaban, danielbachhuber, pfefferle, audrasjb, SergeyBiryukov.
Fixes #33161.

git-svn-id: https://develop.svn.wordpress.org/trunk@47919 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-06 11:05:35 +00:00
Sergey Biryukov 2071347eac Networks and Sites: Update the link text for "Debugging a WordPress Network" support article in ms_not_installed().
Props Presskopp.
Fixes #50326.

git-svn-id: https://develop.svn.wordpress.org/trunk@47914 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-05 09:11:20 +00:00
Jake Spurlock e756de59e5 REST API: Ensure that all properties of get_endpoint_args_for_item_schema are listed.
* Add new var $valid_schema_properties to match rest_validate_value_from_schema()
* Unit test to ensure all valid properties exists, and non-valid properties are ignored

Fixes: #50301.
Props: pentatonicfunk, TimothyBlynJacobs.



git-svn-id: https://develop.svn.wordpress.org/trunk@47911 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-04 16:41:47 +00:00
Sergey Biryukov cc62b4ba1d Docs: Update type for WP_Block_Type::$style property.
Follow-up to [47907].

See #48529.

git-svn-id: https://develop.svn.wordpress.org/trunk@47908 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-04 10:42:51 +00:00
Greg Ziółkowski db00d908ce Blocks: Update default value for some fields in WP_Block_Type
Related to the issue with default values for the blocks registered on the server. By using null for some fields we can treat them as undefined on the client.

See: WordPress/gutenberg#22849.
Props aduth.
Fixes #48529. 



git-svn-id: https://develop.svn.wordpress.org/trunk@47907 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-04 06:05:37 +00:00