4033 Commits

Author SHA1 Message Date
Peter Wilson
7e66aefa7f REST API: Prevent database error when deleting meta data.
Add a check to `WP_REST_Meta_Fields::delete_meta_value()` ensuring meta data is set before attempting to delete it from the database. If the data does not exist, the delete is considered successful as the data matches the desired state.

Props BrechtVds, goaroundagain, TimothyBlynJacobs.
Merges [50567] to the 5.7 branch.
Fixes #52787.


git-svn-id: https://develop.svn.wordpress.org/branches/5.7@50573 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-25 00:02:35 +00:00
Jonathan Desrosiers
64444cd67e Build/Test Tools: Ensure the test_php_and_js_shortcode_attribute_regexes_match() test can run when testing using either the src or build directory.
Reviewed by desrosj, johnbillion.
Props alexstine, desrosj.
Merges [50501] to the 5.7 branch.
Fixes #51734.

git-svn-id: https://develop.svn.wordpress.org/branches/5.7@50509 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-08 15:14:30 +00:00
Robert Anderson
e68cc485ab Editor: Update @wordpress npm packages
Update @wordpress npm packages to the latest published versions. This includes
block editor bug fixes for WordPress 5.7 RC 3.

See #52718.


git-svn-id: https://develop.svn.wordpress.org/branches/5.7@50497 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-05 04:11:36 +00:00
Sergey Biryukov
da266e6ca5 Security, Site Health: Do not store HTTPS request error messages in an option.
This changes the logic in `update_https_detection_errors()` to never store error messages from the actual request since they could use a different encoding, which would make storing them in an option potentially fail, leading WordPress to then falsely assume that HTTPS is supported.

While this doesn't actually fix the encoding issue, it is not crucial to do so anyway, since these messages are not used anywhere. A simple differentiation between whether the overall HTTPS request or only the SSL verification failed should be sufficient for the purpose of this function.

Props flixos90, tmatsuur, lukecarbis.
Reviewed by flixos90, SergeyBiryukov.
Merges [50471] to the 5.7 branch.
Fixes #52484.

git-svn-id: https://develop.svn.wordpress.org/branches/5.7@50472 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-02 15:14:09 +00:00
John Blackbourn
cc13009e99 Build/Test Tools: PHPUnit test improvements:
* Switch back to running the PHPUnit test suite against the `src` directory instead of `build`
* Increase the reliability of backing up the `mu-plugins` directory during tests
* Split the PHPUnit tests for PHP versions below 7.0 in half, allowing them to run in parallel and reduce the overall test run duration on GitHub Actions

Merges [50441-50444] to the 5.7 branch.

Fixes #51734, #51735, #52645


git-svn-id: https://develop.svn.wordpress.org/branches/5.7@50464 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-01 20:21:23 +00:00
Peter Wilson
db9c95a056 Security: move Content-Security-Policy script loaders.
Move `wp_get_script_tag()`, `wp_print_script_tag()`, `wp_print_inline_script_tag()` and `wp_get_inline_script_tag()` functions from `functions.php` to `script-loader.php`.

Relocate related tests to `dependencies` sub-directory.

Follow up to [50167].
Props adamsilverstein, hellofromTonya, SergeyBiryukov.
Fixes #39941.


git-svn-id: https://develop.svn.wordpress.org/trunk@50409 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-23 01:58:21 +00:00
Peter Wilson
50639dbad6 Script Loader: Prevent wp_localize_script() warnings.
Prevent `wp_localize_script()` (via `WP_Scripts::localize()`) throwing warnings in PHP 8 when the translation data is passed as a string. This maintains backward compatibility with earlier versions of PHP.

Introduce a `_doing_it_wrong()` notice to `WP_Scripts::localize()` if the translation data is not passed as an array.

Props jrf, peterwilsoncc, SergeyBiryukov.
Fixes #52534.


git-svn-id: https://develop.svn.wordpress.org/trunk@50408 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-22 23:21:56 +00:00
Sergey Biryukov
6479ea9af8 Embeds: Allow posts with a public custom post status to be embedded.
Previously, only posts with the `publish` status could be embedded.

Props goaroundagain, peterwilsoncc, poena.
Fixes #47574.

git-svn-id: https://develop.svn.wordpress.org/trunk@50401 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-22 13:21:26 +00:00
John Blackbourn
66504ce36e Posts, Post Types: Rename the new post parent conditional tag functions for clarity.
* `get_parent_post()` becomes `get_post_parent()`
* `has_parent_post()` becomes `has_post_parent()`

Props johnjamesjacoby, SergeyBiryukov, lukecarbis, peterwilsoncc

Fixes #33045


git-svn-id: https://develop.svn.wordpress.org/trunk@50396 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-20 17:43:55 +00:00
John Blackbourn
3f705da1f2 Cron API: Add a missing $wp_error parameter to the pre_reschedule_event filter.
Props tmatsuur, mukesh27

Fixes #52572
See #49961


git-svn-id: https://develop.svn.wordpress.org/trunk@50394 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-20 12:09:45 +00:00
Sergey Biryukov
77a7160821 Tests: Fix typo in one of wp_resource_hints() test method names.
Add `@ticket` reference.

Follow-up to [38100].

See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50392 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-20 09:52:14 +00:00
Felix Arntz
c8bbd79d2d Security: Fix bug in wp_is_local_html_output().
Prior to this changeset, the check for the correct RSD link output was relying on a specific protocol, although it needs to accept both the HTTP and HTTPS version of the URL.

Props TimothyBlynJacobs.
Fixes #52542. See #47577.


git-svn-id: https://develop.svn.wordpress.org/trunk@50391 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-19 21:11:02 +00:00
Sergey Biryukov
d8da8a3619 Tests: Rename stick_post() and unstick_post() tests for a bit more clarity.
Add missing DocBlock for `test_unstick_post_updates_option()`.

Follow-up to [50380].

See #52007.

git-svn-id: https://develop.svn.wordpress.org/trunk@50384 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-18 12:02:42 +00:00
Peter Wilson
d79722b09f Editor: Additional tests for reusable blocks.
Ensure that subsequent renders of a reusable block will render correctly and that recursively inserting a reusable block into itself does not cause an internal server (500) error.

Props bernhard-reiter, SergeyBiryukov.
Fixes #52364.



git-svn-id: https://develop.svn.wordpress.org/trunk@50382 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-18 01:11:18 +00:00
Peter Wilson
50af962653 Posts/Post Types: Prevent duplicates in sticky posts option.
In `unstick_post()` if a post ID is duplicated in the `sticky_posts` option remove all instances.

In both `stick_post()` and `unstick_post()` check for duplicate IDs already stored in the `sticky_post` option and remove them if the option is updated.

Props rahmohn, archon810.
Fixes #52007.


git-svn-id: https://develop.svn.wordpress.org/trunk@50380 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-17 22:56:34 +00:00
John Blackbourn
910c2db68a Comments: Revert the introduction of the opt-in comment approval notification feature.
This reverts the following commits: [50113], [50112], [50109].

See #33717


git-svn-id: https://develop.svn.wordpress.org/trunk@50375 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-17 13:06:43 +00:00
Peter Wilson
f400eb5ab9 General: Add noindex robots meta tag to search results.
Prevent search engines indexing internal search results to protect against reflected web spam attacks.

Props abagtcs, audrasjb, ayeshrajans, burtrw, johnbillion, jonoaldersonwp, peterwilsoncc, poena, sabernhardt, xkon.
Fixes #52457


git-svn-id: https://develop.svn.wordpress.org/trunk@50370 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-16 23:36:44 +00:00
John Blackbourn
22618cef9a Feeds: Fix the URL returned by get_feed_link() when pretty permalinks are not in use.
Props hauvong, peterwilsoncc, SergeyBiryukov

Fixes #51839


git-svn-id: https://develop.svn.wordpress.org/trunk@50354 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-16 17:32:58 +00:00
Sergey Biryukov
e50f46d49a Tests: Rename two classes in phpunit/tests/http/ to match the function names.
See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50345 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-15 14:05:42 +00:00
Sergey Biryukov
4e4b4de3be Tests: Add missing @covers tags for files in phpunit/tests/http/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50344 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-15 14:00:02 +00:00
Sergey Biryukov
a17ae3dc0f Tests: Rename classes in phpunit/tests/hooks/ per the naming conventions.
https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests/#naming-and-organization

Follow-up to [47780], [48911], [49327], [50291], [50292].
See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50342 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-14 12:20:34 +00:00
Sergey Biryukov
8d1dfb6bcf Tests: Add missing @covers tags for files in phpunit/tests/hooks/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50341 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-14 12:09:25 +00:00
Sergey Biryukov
cb623c351c Tests: Add missing @covers tags for files in phpunit/tests/general/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50339 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-13 13:47:12 +00:00
Sergey Biryukov
3f50750a50 Tests: Simplify @covers tags in editor/wpEditors.php using @coversDefaultClass annotation.
Follow-up to [50288].

See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50338 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-13 13:45:23 +00:00
Sergey Biryukov
f626e2897b Tests: Use @ticket annotation for ticket numbers, for clarity.
See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50337 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-13 12:17:36 +00:00
gziolo
e794cb23a8 Tests: Fix failing unit test for block settings
Follow-up to [50297].

Fixes #52512.




git-svn-id: https://develop.svn.wordpress.org/trunk@50300 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-12 16:39:01 +00:00
Sergey Biryukov
ae1a9ba8db Tests: Rename some files and classes in phpunit/tests/general/ per the naming conventions.
https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests/#naming-and-organization

Follow-up to [47780], [48911], [49327], [50291].

See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50292 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 21:38:30 +00:00
Sergey Biryukov
88567c5bae Tests: Rename some classes in phpunit/tests/date/ per the naming conventions.
https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests/#naming-and-organization

Follow-up to [47780], [48911], [49327].

See #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50291 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 21:20:41 +00:00
Sergey Biryukov
835066933b Tests: Add missing @covers tags for files in phpunit/tests/external-http/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50290 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 20:53:51 +00:00
Sergey Biryukov
5b3cb96ce0 Tests: Add missing @covers tags for files in phpunit/tests/error-protection/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50289 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 20:53:19 +00:00
Sergey Biryukov
f184ef4b6c Tests: Add missing @covers tags for files in phpunit/tests/editor/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50288 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 20:52:52 +00:00
Sergey Biryukov
c49e14bd7b Tests: Add missing @covers tags for files in phpunit/tests/dependencies/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50287 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 15:15:37 +00:00
Sergey Biryukov
a4617592cb Tests: Add missing @covers tags for files in phpunit/tests/db/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50286 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-11 14:02:42 +00:00
Sergey Biryukov
3d259c2b22 Tests: Use assertSame() in some newly introduced tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Follow-up to [49904], [49925], [49992], [50012], [50013], [50065], [50075], [50131], [50150], [50157].

See #38266, #52482.

git-svn-id: https://develop.svn.wordpress.org/trunk@50284 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-10 13:24:24 +00:00
Sergey Biryukov
62d5c54b67 Tests: Replace most instances of assertEquals() in phpunit/includes/ with assertSame().
Follow-up to [48937], [48939], [48940], [48944].

Props johnbillion, jrf, SergeyBiryukov.
See #38266, #52482.

git-svn-id: https://develop.svn.wordpress.org/trunk@50283 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-10 13:23:42 +00:00
Peter Wilson
f9b901549b Canonical: Rename wp_force_plain_ugly_permalink() to match UI terminology.
Rename `wp_force_plain_ugly_permalink()` to `wp_force_plain_post_permalink()` to match terminology used in the WordPress dashboard.

Follow up to [50132].
Props SergeyBiryukov.
Fixes #5272.



git-svn-id: https://develop.svn.wordpress.org/trunk@50282 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-10 05:38:23 +00:00
Sergey Biryukov
def10f619b Tests: Add missing @covers tags for files in phpunit/tests/date/.
Props patopaiar, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50279 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-09 19:55:35 +00:00
Sergey Biryukov
6b7a708fa1 Tests: Correct the test for NOT BETWEEN comparison operator in WP_Date_Query.
Follow-up to [29793].

Props patopaiar, jrf.
See #39265, #51802.

git-svn-id: https://develop.svn.wordpress.org/trunk@50276 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-09 18:08:07 +00:00
John Blackbourn
b4f354d524 Build/Test Tools: Various docblock improvements within test utilities.
See #51802


git-svn-id: https://develop.svn.wordpress.org/trunk@50265 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-09 13:22:47 +00:00
Robert Anderson
385c29b49a Fix wp.i18n.isRTL()
Fixes a bug causing wp.i18n.isRTL() to return false in RTL langauges by manually
loading the translated 'ltr' string for the i18n dependency. This ports over an
identical fix that was made in Gutenberg.

Fixes #52441.
Props @jonsurrell @youknowriad.


git-svn-id: https://develop.svn.wordpress.org/trunk@50259 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-08 23:49:33 +00:00
Sergey Biryukov
73b353ef95 Privacy: Rename the $send_confirmation_email parameter of wp_create_user_request() to $status, for clarity.
Follow-up to [50159], [50165].

Props xkon, TimothyBlynJacobs.
Fixes #52430. See #43890.

git-svn-id: https://develop.svn.wordpress.org/trunk@50230 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-05 15:48:59 +00:00
Jonathan Desrosiers
5629865595 Build/Test Tools: Fix tests after [50185].
This removes a test assertion defending against version ranges in the `node` value in `package.json` files. This is now supported.

Props peterwilsoncc.
See #52341.

git-svn-id: https://develop.svn.wordpress.org/trunk@50192 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-05 03:36:26 +00:00
Anthony Burchell
422c2c4ad2 Taxonomy: Add filter for post statuses when updating term count.
This adds a filter that allows `$post_statuses` to be modified in term count.

Props GunGeekATX, adamsilverstein, davecpage, nwjames, hellofromTonya, audrasjb, peterwilsoncc, TimothyBlynJacobs.
Fixes #38843.


git-svn-id: https://develop.svn.wordpress.org/trunk@50169 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 21:04:58 +00:00
Adam Silverstein
d4b2126f07 Security: add Content-Security-Policy script loaders.
Add new functions `wp_get_script_tag`, `wp_print_script_tag`, `wp_print_inline_script_tag` and `wp_get_inline_script_tag` that support script attributes. Enables passing attributes such as `async` or `nonce`, creating a path forward for enabling a Content-Security-Policy in core, plugins and themes.

Props tomdxw, johnbillion, jadeddragoon, jrchamp, mallorydxw, epicfaace, alinod, enricocarraro, ocean90.
Fixes #39941.




git-svn-id: https://develop.svn.wordpress.org/trunk@50167 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 20:53:53 +00:00
Anthony Burchell
afb3ee8c5d Coding Standards: Fix spacing in test_pending_status_with_false_send_confirmation_email test.
Follow-up to [50159] adjusts alignment of the `$request_data` value.

See #43890.


git-svn-id: https://develop.svn.wordpress.org/trunk@50160 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 19:59:51 +00:00
Anthony Burchell
32395325e9 Privacy: Allow Admin to Skip e-mail confirmation for Export.
This adds a form option to skip the admin email alert when exporting personal data.

Props xkon, azaozz, TZ-Media, iandunn, desrosj, iprg, allendav, wesselvandenberg, karmatosed, birgire, davidbaumwald, estelaris, paaljoachim, hellofromTonya.
Fixes #43890.


git-svn-id: https://develop.svn.wordpress.org/trunk@50159 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 19:43:37 +00:00
Timothy Jacobs
032e946633 REST API: Allow for the posts endpoint include/exclude terms query to include_children.
For example the `categories` or `categories_exclude` parameters can now optionally accept an object with a `terms` property that accepts the list of term ids and a new `include_children` property which controls the Tax Query `include_children` field.

Props jason_the_adams, jnylen0, birgire, dlh.
Fixes #39494.


git-svn-id: https://develop.svn.wordpress.org/trunk@50157 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 19:23:08 +00:00
Sergey Biryukov
051c135c6e General: Remove admin and login exceptions for https in get_home_url().
Previously, `get_home_url()` would automatically switch to `https` if the current request is already `https`, but would only do so on the front end.

This addresses the inconsistent behavior of returning different values in the admin and on the frontend.

Follow-up to [12598], [21937], [24844].

Props herregroen, mukesh27.
Fixes #52421.

git-svn-id: https://develop.svn.wordpress.org/trunk@50156 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 19:01:18 +00:00
Timothy Jacobs
7f049d3ac1 REST API: Return detailed error information from request validation.
Previously, only the first error message for each parameter was made available. Now, all error messages for a parameter are concatenated. Additionally, the detailed error for each parameter is made available in a new `details` section of the validation error. Each error is formatted following the standard REST API error formatting.

The `WP_REST_Server::error_to_response` method has been abstracted out into a standalone function `rest_convert_error_to_response` to allow for reuse by `WP_REST_Request`. The formatted errors now also contain an `additional_data` property which contains the additional error data provided by `WP_Error::get_all_error_data`.

Props dlh, xkon, TimothyBlynJacobs.
Fixes #46191.


git-svn-id: https://develop.svn.wordpress.org/trunk@50150 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 17:26:06 +00:00
John Blackbourn
75d2020f3f Cron API: Introduce a $wp_error parameter to functions that write to the cron array.
This allows the functions to return a `WP_Error` object containing more information in case of a problem, instead of just boolean false.

The various `pre_` filters in these functions are also updated so they can return or be passed a `WP_Error` object.

Fixes #49961


git-svn-id: https://develop.svn.wordpress.org/trunk@50143 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 13:47:46 +00:00