Commit Graph

10708 Commits

Author SHA1 Message Date
Sergey Biryukov
da93663d01 Code Modernization: Correct the check for parent argument in wp_insert_term() and wp_update_term().
PHP 8 changes the way string to number comparisons are performed: https://wiki.php.net/rfc/string_to_number_comparison

In particular, checking if a non-empty, non-numeric string is greater than zero in PHP 8 evaluates to `true`, not `false`.

For `wp_insert_term()`, this resulted in a "Parent term does not exist" error for a non-numeric string, instead of discarding the value.

By explicitly casting the value to `int`, we make sure to compare both values as numbers, rather than a string and a number.

Follow-up to [29196], [29830], [29867].

See #50913.

git-svn-id: https://develop.svn.wordpress.org/trunk@49043 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-25 00:02:39 +00:00
Sergey Biryukov
0ae6b563b6 Docs: Add a @since note to wp_privacy_exports_dir and wp_privacy_exports_url filters about exports using relative paths since WordPress 5.5.
When changing exports location via these filters, make sure to migrate the files to the new directory, to avoid breaking any existing exports.

Follow-up to [48127], [48330].

Props garrett-eclipse.
Fixes #51361.

git-svn-id: https://develop.svn.wordpress.org/trunk@49042 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-24 04:58:27 +00:00
Robert Anderson
28963e897c Documentation: Add 'template' arg documentation
Add inline documentation for the 'template' arg accepted by
register_post_type().

Props milana_cap.
See #46261.


git-svn-id: https://develop.svn.wordpress.org/trunk@49041 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-24 03:10:26 +00:00
Sergey Biryukov
7826f31e26 Docs: Remove obsolete $wpdb global reference from get_site_by_path().
Follow-up to [37628].

Props ravivaddweb, mukesh27.
Fixes #51380.

git-svn-id: https://develop.svn.wordpress.org/trunk@49038 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-23 14:09:03 +00:00
Sergey Biryukov
7d15225ad0 Users: Check if the user ID passed as selected to wp_dropdown_users() corresponds to an existing user.
This avoids a few PHP notices if the `include_selected` parameter was specified and a non-existing user ID was passed.

Props campusboy1987.
Fixes #51370.

git-svn-id: https://develop.svn.wordpress.org/trunk@49036 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-23 00:25:47 +00:00
Jonathan Desrosiers
45197f9d4e External Libraries: Upgrade PHPMailer to version 6.1.7.
For a full list of changes in this update, see the PHPMailer GitHub: https://github.com/PHPMailer/PHPMailer/compare/v6.1.6...v6.1.7.

Props ayeshrajans, jrf.
Fixes #51311.

git-svn-id: https://develop.svn.wordpress.org/trunk@49034 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-22 18:35:10 +00:00
John Blackbourn
0fbc8b1ac7 Docs: Correct the indentation for some array type docs.
See #50768


git-svn-id: https://develop.svn.wordpress.org/trunk@49028 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-21 16:44:35 +00:00
Sergey Biryukov
f7570fec4a General: Give the $is variable in is_wp_error() a more descriptive name.
Follow-up to [49022].

See #40568.

git-svn-id: https://develop.svn.wordpress.org/trunk@49023 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-21 11:11:10 +00:00
John Blackbourn
2b742beb5c General: Introduce the wp_error_added and wp_error_checked actions.
These actions allow debugging tools to track `WP_Error` instances as they're created and subsequently passed between functions which check for error objects.

Props Shelob9, Mte90, TimothyBlynJacobs, johnbillion

Fixes #40568



git-svn-id: https://develop.svn.wordpress.org/trunk@49022 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 17:43:00 +00:00
John Blackbourn
dd076bb611 Media: Standardise the description for image size parameters.
This brings continuity to all the image related functions and filters which accept or pass a size parameter.

Props dilipbheda, johnbillion

Fixes #47364


git-svn-id: https://develop.svn.wordpress.org/trunk@49021 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 16:21:42 +00:00
John Blackbourn
b620440519 Docs: Inline documentation improvements for media related functions and hooks.
See #47364, #50768


git-svn-id: https://develop.svn.wordpress.org/trunk@49020 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 15:53:52 +00:00
Sergey Biryukov
e020b1183d Media: Return a WP_Error from WP_Image_Editor_GD::load() if file contents could not be retrieved.
This avoids an error on PHP 8 caused by calling `imagecreatefromstring()` on an empty result.

See #50913.

git-svn-id: https://develop.svn.wordpress.org/trunk@49019 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 14:26:38 +00:00
John Blackbourn
db684af2c1 Media: Correct some types in docblocks for filters related to thumbnails.
Props dilipbheda

See #47364, #50768


git-svn-id: https://develop.svn.wordpress.org/trunk@49016 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 13:38:04 +00:00
John Blackbourn
9462c458ff Media: Correct the image thumbnail logic in media templates.
This ensures the correct data properties are checked before displaying image thumbnails.

Props chetan200891

Fixes #49655


git-svn-id: https://develop.svn.wordpress.org/trunk@49012 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-20 13:13:46 +00:00
Peter Wilson
1ffdfdaea7 Posts, Post Types: Ensure default terms are added by wp_publish_post().
Transitioning posts from `auto-draft` to `publish` via `wp_publish_post()` could result in published posts without the default category or custom taxonomy default terms.

Props frank-klein, TimothyBlynJacobs, peterwilsoncc.
Fixes #51292.



git-svn-id: https://develop.svn.wordpress.org/trunk@49000 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-19 01:20:48 +00:00
Sergey Biryukov
f78acee893 Docs: Add a @since note about adjacent_posts_rel_link_wp_head() no longer being used in core.
Follow-up to [48966].

Props jnylen0.
See #39111.

git-svn-id: https://develop.svn.wordpress.org/trunk@48995 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-18 11:04:48 +00:00
Sergey Biryukov
8bc03cf494 Docs: Add a @since note for the recovery_mode_email filter about the $email argument now including the attachments key.
Follow-up to [48964].

See #51276.

git-svn-id: https://develop.svn.wordpress.org/trunk@48994 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-18 11:01:52 +00:00
Sergey Biryukov
7d23a212c4 Docs: Update the URL for PHP date formats table in translator comments.
Props hareesh-pillai, iandunn.
Fixes #51332.

git-svn-id: https://develop.svn.wordpress.org/trunk@48991 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-18 10:35:41 +00:00
Sergey Biryukov
cb38bc973e Comments: Assign the array of comment data returned from the comments_pre_query filter to the comments property of the current WP_Comment_Query instance.
This avoids the performance overhead of calling `WP_Comment_Query::get_comments()` twice: first when creating the object instance, then to retrieve the filtered results.

This also makes the filter a bit more consistent with other similar filters, e.g. `posts_pre_query`, `terms_pre_query`, or `users_pre_query`.

Follow-up to [46086].

Props dinhtungdu, imath, spacedmonkey, adamsilverstein, SergeyBiryukov.
Fixes #50521.

git-svn-id: https://develop.svn.wordpress.org/trunk@48990 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-17 19:53:47 +00:00
Sergey Biryukov
e145c9aaba Docs: Reformat comments_pre_query, networks_pre_query, sites_pre_query DocBlocks for better readability.
See #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@48986 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-17 11:08:04 +00:00
Sergey Biryukov
8621e8d5c8 Docs: Fix typo in *_pre_query filter DocBlocks.
See #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@48985 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-17 10:43:23 +00:00
Sergey Biryukov
77647aea23 Docs: Correct the parameter type for networks_pre_query filter.
The filter should return the network count as an integer if `$this->query_vars['count']` is set.

Follow-up to [46100].

See #50768, #47599.

git-svn-id: https://develop.svn.wordpress.org/trunk@48984 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-17 10:35:51 +00:00
Sergey Biryukov
9cb0da3754 Formatting: Make sure links_add_target() adds the target attribute to the correct tag.
Previously, the attribute could unintentionally be added to a tag that starts with the same characters, e.g. `<aside>` instead of `<a>`.

Props antonlukin.
Fixes #51313.

git-svn-id: https://develop.svn.wordpress.org/trunk@48983 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-17 10:12:32 +00:00
Helen Hou-Sandi
9648bcd373 i18n: Ensure block type strings in the REST API end with a full stop.
Props ramiy, justinahinon.
Fixes #50805.



git-svn-id: https://develop.svn.wordpress.org/trunk@48982 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-16 19:21:03 +00:00
Sergey Biryukov
2cc4276746 Code Modernization: Return an empty string from wpdb::prepare() if there are not enough arguments to match the placeholders.
This avoids a fatal error on PHP 8 caused by passing mismatched arguments to `vsprintf()`, and maintains the current behaviour.

Follow-up to [48979], [48980].

See #50913, #50639.

git-svn-id: https://develop.svn.wordpress.org/trunk@48981 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-16 02:27:42 +00:00
Sergey Biryukov
35ceac68f4 Code Modernization: Return an empty string from wpdb::_real_escape() if a non-scalar value is passed.
This avoids a fatal error on PHP 8 caused by passing a non-string value to ` mysqli_real_escape_string()`, and maintains the current behaviour.

See #50913, #50639.

git-svn-id: https://develop.svn.wordpress.org/trunk@48980 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-16 01:46:25 +00:00
Sergey Biryukov
54fd2f7a80 Docs: Document the usage of $wpdb global in wp_delete_attachment_files().
Props jontyravi.
Fixes #51309.

git-svn-id: https://develop.svn.wordpress.org/trunk@48976 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-14 13:41:33 +00:00
Sergey Biryukov
82a4978a71 Docs: Document the usage of $wpdb global in wp_get_post_autosave().
Follow-up to [48422].

Props ravivaddweb.
Fixes #51308. See #34560.

git-svn-id: https://develop.svn.wordpress.org/trunk@48975 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-14 13:35:10 +00:00
Sergey Biryukov
9066eb15a2 Coding Standards: Explicitly declare the $wp_version global used in some core files.
Props jaydeep-rami, sabernhardt.
Fixes #44932.

git-svn-id: https://develop.svn.wordpress.org/trunk@48971 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-12 00:10:16 +00:00
Helen Hou-Sandi
b8e4f37a57 REST API: Include attribute name in schema validation error message.
Props bobbingwide.
Fixes #51231.


git-svn-id: https://develop.svn.wordpress.org/trunk@48969 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-10 16:32:52 +00:00
John Blackbourn
db9a91a2a8 Posts, Post Types: Don't output the adjacent posts rel link by default.
This has a considerable performance impact on sites which don't otherwise show previous and next post links, and has no SEO benefit.

Props joostdevalk, swissspidy, johnbillion

Fixes #39111

git-svn-id: https://develop.svn.wordpress.org/trunk@48966 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-09 21:32:07 +00:00
Jonathan Desrosiers
0548043076 Site Health: Allow attachments to be added to recovery mode emails.
The `wp_mail()` function has the ability to add attachments to emails. There is currently no way to add attachments to the recovery mode email sent out to site admins when a PHP error is encountered on their site.

This change adds that ability through the use of the `recovery_mode_email` filter, allowing developers to use the full capabilities of `wp_mail()`.

Props desrosj, timothyblynjacobs.
Fixes #51276.

git-svn-id: https://develop.svn.wordpress.org/trunk@48964 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-09 16:19:33 +00:00
Jonathan Desrosiers
506c46593b Docs: Improve the recovery_mode_email inline docs.
See #51267, #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@48962 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-09 15:46:30 +00:00
Sergey Biryukov
875acd7b37 Code Modernization: Remove unnecessary reference sign from get_comment() definition.
This fixes a PHP 8 "argument must be passed by reference, value given" error when using `array_map( 'get_comment', ... )`.

Object variables in PHP 5+ contain a reference to the object, and it's the reference that's passed around.

Note: This reverts [48838], which is now redundant.

Follow-up to a similar change for `get_post()` in [21572].

See #50913.

git-svn-id: https://develop.svn.wordpress.org/trunk@48961 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-09 03:53:50 +00:00
Sergey Biryukov
f6f117a0a9 Code Modernization: Correct the check for negative post IDs in WP_Query::parse_query() to work as expected on PHP 8.
PHP 8 changes the way string to number comparisons are performed: https://wiki.php.net/rfc/string_to_number_comparison

In particular, checking if an empty string is less than zero in PHP 8 evaluates to `true`, not `false`.

For `WP_Query`, this resulted in unintentionally returning a 404 error for most of front-end requests, instead of the relevant content.

By explicitly casting the value to `int`, we make sure to compare both values as numbers, rather than a string and a number.

Follow-up to [38288].

Props trepmal.
See #50913.

git-svn-id: https://develop.svn.wordpress.org/trunk@48960 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-09 02:33:22 +00:00
Timothy Jacobs
84d524e189 REST API: Extract WP_REST_Controller::get_endpoint_args_for_item_schema() to a standalone function.
This method is useful whenever a JSON Schema needs to be converted to a format suitable for argument validation with `WP_REST_Request`. Moving the logic into a standalone function allows developers to use it outside of the `WP_REST_Controller` context.

Props pentatonicfunk.
Fixes #50876. 


git-svn-id: https://develop.svn.wordpress.org/trunk@48951 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-07 02:35:52 +00:00
Timothy Jacobs
d803f6bf82 REST API: Refactor WP_REST_Server::dispatch() to make internal logic reusable.
#50244 aims to introduce batch processing in the REST API. An important feature is the ability to enforce that all requests have valid data before executing the route callbacks in "pre-validate" mode.

This necessitates splitting `WP_REST_Server::dispatch()` into two methods so the batch controller can determine the request handler to perform pre-validation and then respond to the requests.

The two new methods, `match_request_to_handler` and `respond_to_request`, have a public visibility, but are marked as `@access private`. This is to allow for iteration on the batch controller to happen in the Gutenberg repository. Developers should not rely upon these methods, their visibility may change in the future.

See #50244.
Props andraganescu, zieladam, TimothyBlynJacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@48947 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-05 21:50:31 +00:00
Timothy Jacobs
88ec90d6df REST API: Support a route-level validation callback.
Most request data is validated on a per-parameter basis. Often, however, additional validation is needed that operates on the entire request object. Currently, this is done in the route callback and often in the `prepare_item_for_database` method specifically.

#50244 aims to introduce batch processing in the REST API. An important feature is the ability to enforce that all requests have valid data before executing the route callbacks in "pre-validate" mode.

This patch introduces support for calling a `validate_callback` after all parameter validation has succeeded. That allows moving more validation outside of the route callback and into `WP_REST_Request` which will improve "pre-validate" support.

Props TimothyBlynJacobs, zieladam.
Fixes #51255.
See #50244.




git-svn-id: https://develop.svn.wordpress.org/trunk@48945 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-05 18:07:46 +00:00
John Blackbourn
d34a21c950 Docs: Various docblock corrections and improvements.
See #50768

git-svn-id: https://develop.svn.wordpress.org/trunk@48941 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-04 20:39:47 +00:00
Sergey Biryukov
5f4a8f75b5 Docs: Synchronize the description of the $format parameter in various date/time functions for posts and comments.
See #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@48929 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-01 00:41:19 +00:00
Sergey Biryukov
23528d419a Script Loader: Add backward compatibility for JavaScript i18n globals and properties deprecated in WordPress 5.5.
The recommended approach for any plugins using these globals or properties is to switch to the newer `wp.i18n` functions.

In the meantime, this ensures that accessing any of these globals does not break the rest of the code on the page, and an appropriate warning message is logged to the JavaScript console.

Follow-up to: https://core.trac.wordpress.org/query?summary=~wp.i18n&milestone=5.5

Props omarreiss, peterwilsoncc, kbjohnson90, johnbillion, TimothyBlynJacobs, joostdevalk, ocean90, desrosj, SergeyBiryukov.
Fixes #51123.

git-svn-id: https://develop.svn.wordpress.org/trunk@48923 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-31 20:28:41 +00:00
Sergey Biryukov
d33fa375f6 Date/Time: In get_the_date() and related functions, pass the original, unmodified $format value to the filters.
Additionally, simplify the `$format` argument checks for consistency with similar checks in `get_the_modified_date()` and `get_the_modified_time()`.

Follow-up to [48912].

Props Rarst.
See #51184.

git-svn-id: https://develop.svn.wordpress.org/trunk@48918 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-31 18:28:42 +00:00
Sergey Biryukov
3309309f6b Date/Time: Make sure get_the_date() and related functions return correct time if the format was specified as false.
Technically, the `$format` argument should always be a string, but passing `false` used to work before [47808], so this restores backward compatibility.

The list of affected functions:
* `get_the_date()`
* `get_the_time()`
* `get_comment_date()`
* `get_comment_time()`

Props wittich, Rarst, akabarikalpesh, SergeyBiryukov.
Fixes #51184.

git-svn-id: https://develop.svn.wordpress.org/trunk@48912 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-31 15:56:41 +00:00
Sergey Biryukov
0013f5979c Media: Make the is_gd_image() function available on front end.
This avoids a fatal error if a plugin calls image creation or editing functions like `wp_imagecreatetruecolor()` outside of the admin.

Follow-up to [48798]

Props BackuPs.
Fixes #51174. See #50833.

git-svn-id: https://develop.svn.wordpress.org/trunk@48905 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-28 16:43:31 +00:00
Sergey Biryukov
a0b40ebd6a Script Loader: Disable concatenation for scripts with translations to ensure they are printed in the right order.
Props herregroen, ocean90, desrosj, mikeyarce, bobbingwide, audrasjb, johnbillion.
Fixes #50999.

git-svn-id: https://develop.svn.wordpress.org/trunk@48897 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 21:57:01 +00:00
Sergey Biryukov
6c395a5f3e Bootstrap/Load: Check if the __() function is available in wp_get_environment_type().
The function would not exist in `SHORTINIT` mode.

Follow-up to [48894].

See #50992.

git-svn-id: https://develop.svn.wordpress.org/trunk@48895 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 21:37:33 +00:00
Sergey Biryukov
a0864835a5 Bootstrap/Load: Remove the ability to alter the list of environment types in wp_get_environment_type().
The intention of `wp_get_environment_type()` is to provide a consistent means of identifying the environment type, not of identifying a specific environment.

Actual environments should fit within one of the existing types: `local`, `development`, `staging`, or `production`. That should cover the types that plugins and themes might be concerned about when toggling functionality. 

Props johnbillion, joostdevalk, TimothyBlynJacobs, jeremyfelt, batmoo, claytoncollie, Clorith, markjaquith, garrett-eclipse, GaryJ, elrae.
Fixes #50992.

git-svn-id: https://develop.svn.wordpress.org/trunk@48894 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 21:30:33 +00:00
Sergey Biryukov
6a6241ac6a Script Loader: Change the jquery handle back to an alias for jquery-core.
This ensures that `wp_localize_script( 'jquery', ... )` continues to work as expected, since `WP_Scripts::localize()` rewrites the `jquery` handle to `jquery-core` internally.

Follow-up to [48323].

Props mukesh27, rajeshsingh520, johnbillion, TimothyBlynJacobs, TobiasBg.
Fixes #50919.

git-svn-id: https://develop.svn.wordpress.org/trunk@48890 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 20:31:23 +00:00
Jorge Costa
fb04a13f46 Editor: update packages.
The following package versions were changed:
@wordpress/block-directory: 1.13.6 -> 1.13.7
@wordpress/block-editor: 4.3.6 -> 4.3.7
@wordpress/block-library: 2.22.6 -> 2.22.7
@wordpress/components: 10.0.5 -> 10.0.6
@wordpress/edit-post: 3.21.6 -> 3.21.7
@wordpress/editor: 9.20.6 -> 9.20.7
@wordpress/format-library: 1.22.6 -> 1.22.7
@wordpress/list-reusable-blocks: 1.21.5 -> 1.21.6
@wordpress/nux: 3.20.5 -> 3.20.6
@wordpress/server-side-render: 1.16.5 -> 1.16.6
Includes PR WordPress/gutenberg#24828

Props nosolosw, desrosj, SergeyBiryukov, youknowriad.
Fixes: #51151.

git-svn-id: https://develop.svn.wordpress.org/trunk@48884 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 16:34:37 +00:00
Timothy Jacobs
6c76a13139 REST API: Fix multi-type schemas with integer fields.
In [48306] support for multi-typed schemas was improved to first detect the data type of the value before applying further validation. The `integer` data type was detected using the new `rest_is_integer` function. This function used logic, however, that assumed that the value had already passed an `is_numeric` check. This meant that if `integer` and `string` were both acceptable types, the value would always be considered an `integer` causing the later accurate type validation to fail.

This commit fixes the `rest_is_integer` logic to include an `is_numeric` check.

Props rtagliento.
Fixes #51146.


git-svn-id: https://develop.svn.wordpress.org/trunk@48881 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-27 02:55:39 +00:00