K. Adam White
480372b07c
REST API: Fix namespace shadowing issue in route matching logic.
...
Following [47260] a namespace such as "test-ns" prevents any namespace such as "test-ns/v1" from being found when matching routes.
While not best practice, this was an unintentional back-compat break; this patch restores the original behavior.
Props david.binda, TimothyBlynJacobs.
Fixes #48530 .
Built from https://develop.svn.wordpress.org/trunk@47351
git-svn-id: http://core.svn.wordpress.org/trunk@47138 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-24 18:07:08 +00:00
TimothyBlynJacobs
5031baa32b
REST API: Don't assume all item schemas have properties.
...
All schema types, not just objects, are permitted as the base type of a resource. A future patch could add validation support for those types, but this fix only prevents a PHP warning from being issued.
Props dhavalkasvala, johnwatkins0, birgire.
Fixes #48785 .
Built from https://develop.svn.wordpress.org/trunk@47328
git-svn-id: http://core.svn.wordpress.org/trunk@47122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-20 16:58:06 +00:00
TimothyBlynJacobs
450d49183b
REST API: Fix links format in OPTIONS requests for non-variable routes.
...
Props nsundberg, johnwatkins0, birgire.
Fixes #49149 .
Built from https://develop.svn.wordpress.org/trunk@47326
git-svn-id: http://core.svn.wordpress.org/trunk@47120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-20 00:55:05 +00:00
Sergey Biryukov
61986acde9
Users: Limit the scope of admin files required in `WP_REST_Users_Controller`.
...
This requires only `wp-admin/includes/user.php` for `get_editable_roles()`, instead of `wp-admin/includes/admin.php`.
Follow-up to [43589].
Props johnwatkins0.
Fixes #49450 .
Built from https://develop.svn.wordpress.org/trunk@47299
git-svn-id: http://core.svn.wordpress.org/trunk@47099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-17 05:33:06 +00:00
Sergey Biryukov
8f877dc875
Docs: Improve inline comments for `require_once` calls in `WP_REST_Users_Controller` per the documentation standards.
...
Follow-up to [47295].
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47298
git-svn-id: http://core.svn.wordpress.org/trunk@47098 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-17 03:56:06 +00:00
Sergey Biryukov
97380ec1ce
Docs: Fix typo in a comment in `WP_REST_Attachments_Controller::create_item()`.
...
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47297
git-svn-id: http://core.svn.wordpress.org/trunk@47097 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-17 03:30:04 +00:00
Sergey Biryukov
1d5d5b3e87
REST API: Restore `wp-admin/includes/image.php` requirement in `WP_REST_Attachments_Controller::create_item()`.
...
Although the file is already included via the `::insert_attachment()` method, this addresses an inconsistency and corrects a misleading comment.
It also reduces the possibility of a future error in case `::insert_attachment()` is no longer called earlier in `::create_item()` at some point.
Follow-up to [43850] and [44206].
Props luisrivera.
Fixes #49449 .
Built from https://develop.svn.wordpress.org/trunk@47296
git-svn-id: http://core.svn.wordpress.org/trunk@47096 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-17 03:24:07 +00:00
Sergey Biryukov
445e2859ab
Docs: Improve inline comments for `require_once()` calls in `WP_REST_Attachments_Controller`.
...
See #49449 , #48303 .
Built from https://develop.svn.wordpress.org/trunk@47295
git-svn-id: http://core.svn.wordpress.org/trunk@47095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-17 03:13:05 +00:00
K. Adam White
c85c8f5235
REST API: Introduce rest_{$this->post_type}_item_schema filter to enable manipulation of schema values.
...
register_rest_field can be used to add properties to a schema, but no mechanism existed to alter existing properties like "content".
Running the schema through this filter lets plugins append additional sub-properties to existing schema definitions.
Props luisherranz, TimothyBlynJacobs, swissspidy, westonruter, kadamwhite.
Fixes #47779 .
Built from https://develop.svn.wordpress.org/trunk@47265
git-svn-id: http://core.svn.wordpress.org/trunk@47065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-11 16:28:06 +00:00
K. Adam White
12709269c1
REST API: Allow meta to be set when creating a new media record via REST.
...
Props TimothyBlynJacobs, apermo.
Fixes #44567 .
Built from https://develop.svn.wordpress.org/trunk@47261
git-svn-id: http://core.svn.wordpress.org/trunk@47061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-11 03:39:06 +00:00
K. Adam White
23696bb074
REST API: Match REST API routes on namespace before performing regex checks.
...
Rule out groups of API endpoints by simple namespace string comparison to reduce the number of regex checks necessary when matching a route.
Props TimothyBlynJacobs.
Fixes #48530 .
Built from https://develop.svn.wordpress.org/trunk@47260
git-svn-id: http://core.svn.wordpress.org/trunk@47060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-11 03:22:05 +00:00
K. Adam White
25d8f7240e
REST API: List all core theme feature support details in /themes endpoint response.
...
Fully list which first-party core theme features are supported in the /themes endpoint response. This brings the REST API themes controller's response more in line with the output of get_theme_support().
Props adamboro, apieschel, koke, spacedmonkey, TimothyBlynJacobs.
See #49037 .
Built from https://develop.svn.wordpress.org/trunk@47258
git-svn-id: http://core.svn.wordpress.org/trunk@47058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-11 02:00:07 +00:00
TimothyBlynJacobs
7019add74e
REST API: Add support for the REDIRECT_HTTP_AUTHORIZATION header.
...
Previously the REST API did not account for server configurations where the Authorization header must be added using ModRewrite. This caused major DUX issues when trying to use custom authentication mechanisms.
Fixes #47077 .
Props dshanske, cklosows.
Built from https://develop.svn.wordpress.org/trunk@47239
git-svn-id: http://core.svn.wordpress.org/trunk@47039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-10 16:08:16 +00:00
Sergey Biryukov
a6949956d1
Administration: Capitalize `Trash` consistently in various messages and comments.
...
When used as a noun referring to the "virtual" place, `Trash` should be capitalized.
Props garrett-eclipse, aandrewdixon, Presskopp.
Fixes #45317 .
Built from https://develop.svn.wordpress.org/trunk@47233
git-svn-id: http://core.svn.wordpress.org/trunk@47033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-10 04:12:07 +00:00
TimothyBlynJacobs
5ecd61023a
REST API: Introduce selective link embedding.
...
Previously the _embed flag would embed all embeddable links in a response even if only a subset of the links were necessary. Now, a list of link relations can be passed in the _embed parameter to restrict the list of embedded objects.
Props rheinardkorf, adamsilverstein, jnylen0, cklosows, chrisvanpatten, TimothyBlynJacobs.
Fixes #39696 .
Built from https://develop.svn.wordpress.org/trunk@47224
git-svn-id: http://core.svn.wordpress.org/trunk@47024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-09 20:54:05 +00:00
Sergey Biryukov
e79f7f71aa
REST API: Merge "not allowed to create new terms" permission error message with an existing string.
...
Follow-up to [39309], [39313].
See #38857 .
Built from https://develop.svn.wordpress.org/trunk@47166
git-svn-id: http://core.svn.wordpress.org/trunk@46966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-02 05:41:03 +00:00
K. Adam White
b78819c3fa
REST API: Reuse previously-generated embedded objects when building collection response.
...
Store each generated embedded object in a temporary cache when querying for linked resources so that repeated links to the same resource do not trigger repeated queries or processing.
Props TimothyBlynJacobs.
Fixes #48838 .
Built from https://develop.svn.wordpress.org/trunk@47138
git-svn-id: http://core.svn.wordpress.org/trunk@46938 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-30 20:22:07 +00:00
Sergey Biryukov
001ffe81fb
Docs: Improve inline comments per the documentation standards.
...
Includes minor code layout fixes for better readability.
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47122
git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Sergey Biryukov
2900bb8ea7
Docs: Update links to https://secure.php.net/ , they now redirect to https://www.php.net/ .
...
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47088
git-svn-id: http://core.svn.wordpress.org/trunk@46888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-20 03:14:06 +00:00
Sergey Biryukov
dd4d98a368
Docs: In various `@return` tags, list the expected type first, instead of `false`.
...
Follow-up to [46696].
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47060
git-svn-id: http://core.svn.wordpress.org/trunk@46860 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-11 18:32:05 +00:00
Sergey Biryukov
ea6e0cc3ca
Coding Standards: Use Yoda conditions in `wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php`.
...
Props jenilk.
Fixes #49150 .
Built from https://develop.svn.wordpress.org/trunk@47050
git-svn-id: http://core.svn.wordpress.org/trunk@46850 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-08 11:32:02 +00:00
Sergey Biryukov
ce48d7502c
REST API: Display the actual conflicting value in addition to the taxonomy name in the `_doing_it_wrong()` message for a conflicting `rest_base` or `name` property.
...
Follow-up to [47037] and [47045].
Props TimothyBlynJacobs.
See #48401 .
Built from https://develop.svn.wordpress.org/trunk@47046
git-svn-id: http://core.svn.wordpress.org/trunk@46846 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-06 17:09:04 +00:00
Sergey Biryukov
a540d748d3
REST API: Display the taxonomy name in the `_doing_it_wrong()` message for a conflicting `rest_base` or `name` property, to match the translator comment.
...
Follow-up to [47037].
See #48401 .
Built from https://develop.svn.wordpress.org/trunk@47045
git-svn-id: http://core.svn.wordpress.org/trunk@46845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-06 16:47:02 +00:00
Sergey Biryukov
28639fc8d5
I18N: Replace `rest_authentication_errors` filter name with a placeholder in a translatable string.
...
Follow-up to [38947] and [40038].
See #38446 .
Built from https://develop.svn.wordpress.org/trunk@47044
git-svn-id: http://core.svn.wordpress.org/trunk@46844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-06 16:21:04 +00:00
K. Adam White
08f53ef906
REST API: Issue doing_it_wrong if a taxonomy's specified rest_base is already in use by a different resource.
...
Props fgiannar, TimothyBlynJacobs, kingkool68, SergeyBiryukov.
Fixes #48401 .
Built from https://develop.svn.wordpress.org/trunk@47037
git-svn-id: http://core.svn.wordpress.org/trunk@46837 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-03 19:24:03 +00:00
K. Adam White
7660fcda61
REST API: Short-circuit comment controller permissions check if commented-upon post type does not exist.
...
Props imani3011, dragosh635, subrataemfluence, timothyblynjacobs.
Fixes #42238 .
Built from https://develop.svn.wordpress.org/trunk@47036
git-svn-id: http://core.svn.wordpress.org/trunk@46836 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-03 18:44:03 +00:00
Sergey Biryukov
9bec6f1e54
REST API: Synchronize permission checks in `::get_items_permissions_check()` methods for post types, post statuses, and users:
...
* Only query post types with `'show_in_rest' => true` instead of looping over all post types and checking the `show_in_rest` property separately.
* Return from the `foreach()` loop as soon as the permission check succeeded.
Props pbiron, TimothyBlynJacobs, SergeyBiryukov.
Fixes #49118 .
Built from https://develop.svn.wordpress.org/trunk@47034
git-svn-id: http://core.svn.wordpress.org/trunk@46834 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-03 02:28:03 +00:00
whyisjake
9e87c5b7b4
Ensure that a user can publish_posts before making a post sticky.
...
Props: danielbachhuber, whyisjake, peterwilson, xknown.
Built from https://develop.svn.wordpress.org/trunk@46893
git-svn-id: http://core.svn.wordpress.org/trunk@46693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-12 17:52:02 +00:00
John Blackbourn
f93ee2ca76
Docs: Increase the specificity of various docblock parameter types and return types.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46823
git-svn-id: http://core.svn.wordpress.org/trunk@46623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-06 22:43:04 +00:00
John Blackbourn
aa1fdcbd52
Docs: Correct various docblocks documentation.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46821
git-svn-id: http://core.svn.wordpress.org/trunk@46621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-06 22:23:04 +00:00
Sergey Biryukov
1d1c74385f
REST API: Use strict `in_array()` checks for the list of usernames blacklisted via `illegal_user_logins` filter.
...
See #48839 .
Built from https://develop.svn.wordpress.org/trunk@46804
git-svn-id: http://core.svn.wordpress.org/trunk@46604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-29 22:04:02 +00:00
Sergey Biryukov
86c441140b
REST API: Use a strict `in_array()` check in `WP_REST_Request::get_parameter_order()`.
...
See #48839 .
Built from https://develop.svn.wordpress.org/trunk@46803
git-svn-id: http://core.svn.wordpress.org/trunk@46603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-29 22:01:03 +00:00
Sergey Biryukov
d33571f7d5
REST API: Use a strict `in_array()` check in `WP_REST_Meta_Fields::get_registered_fields()`.
...
Props dkarfa.
Fixes #48839 .
Built from https://develop.svn.wordpress.org/trunk@46802
git-svn-id: http://core.svn.wordpress.org/trunk@46602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-29 21:59:03 +00:00
Sergey Biryukov
04ba6a1d8f
Docs: Correct parameter type for `$item` in `WP_REST_Terms_Controller::prepare_item_for_response()`.
...
Props diddledan, TimothyBlynJacobs.
Fixes #48616 .
Built from https://develop.svn.wordpress.org/trunk@46731
git-svn-id: http://core.svn.wordpress.org/trunk@46531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-14 08:55:02 +00:00
John Blackbourn
3def77672d
Docs: Correct some invalid hook docblocks.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46729
git-svn-id: http://core.svn.wordpress.org/trunk@46529 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-12 22:42:02 +00:00
Sergey Biryukov
3d623995a8
Docs: In various `@return` tags, list the expected type first, instead of `WP_Error`.
...
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@46696
git-svn-id: http://core.svn.wordpress.org/trunk@46496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-11 02:43:03 +00:00
Sergey Biryukov
1f816ad18d
Docs: Use the `{@see ...}` tag for the replacement in `@deprecated` tags, so that Developer Reference could automatically link to the replacement.
...
Props jrf.
See #48255 .
Built from https://develop.svn.wordpress.org/trunk@46685
git-svn-id: http://core.svn.wordpress.org/trunk@46485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-09 13:05:02 +00:00
John Blackbourn
f545bb3f63
Docs: Improve documentation of known return types, plus other docs fixes.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46660
git-svn-id: http://core.svn.wordpress.org/trunk@46460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-05 21:23:02 +00:00
whyisjake
5b4fe55ee8
REST API: Fix for Yoda condition.
...
Little coding standards fix for the REST API.
Props mukesh27, spenserhale.
Fixes #48337 .
Built from https://develop.svn.wordpress.org/trunk@46654
git-svn-id: http://core.svn.wordpress.org/trunk@46454 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-05 17:38:03 +00:00
TimothyBlynJacobs
5124c542e1
REST API: Add tax relation parameter to posts collection.
...
The REST API supports filtering by terms across multiple taxonomies using an AND relation. This adds support for an OR relation by adding "tax_relation=OR" as a query parameter.
Props earnjam.
Fixes #44326 .
Built from https://develop.svn.wordpress.org/trunk@46646
git-svn-id: http://core.svn.wordpress.org/trunk@46446 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-03 23:14:02 +00:00
Sergey Biryukov
2651ff3ae8
Docs: Update URLs in some `@link` tags and switch them to HTTPS.
...
Props tsuyoring.
Fixes #48479 .
Built from https://develop.svn.wordpress.org/trunk@46626
git-svn-id: http://core.svn.wordpress.org/trunk@46423 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-01 14:57:02 +00:00
John Blackbourn
c08dbe5236
Docs: Coding standards fix after [46608].
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46609
git-svn-id: http://core.svn.wordpress.org/trunk@46406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-28 19:35:07 +00:00
John Blackbourn
817807e5be
Docs: Remove some funky nested filters.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46608
git-svn-id: http://core.svn.wordpress.org/trunk@46405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-28 19:04:05 +00:00
K. Adam White
cfec48cc31
REST API: Cast empty meta values to correct scalar types in REST response.
...
Introducing complex meta value handling in [45807] unintentionally removed value casting for empty scalar meta values.
Props TimothyBlynJacobs, chrisvanpatten, rmccue, kadamwhite.
Fixes #48363 .
Built from https://develop.svn.wordpress.org/trunk@46563
git-svn-id: http://core.svn.wordpress.org/trunk@46360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-21 19:10:06 +00:00
Sergey Biryukov
e8fcc3fbe7
Docs: Fix typo in a comment in `WP_REST_Settings_Controller::prepare_value()`.
...
Convert the comment to a multi-line format per the documentation standards.
Props itowhid06.
See #48296 .
Built from https://develop.svn.wordpress.org/trunk@46471
git-svn-id: http://core.svn.wordpress.org/trunk@46269 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-13 10:02:04 +00:00
Peter Wilson
8730eb34e3
Docs: Correct comment typo in WP_REST_Terms_Controller::update_item().
...
Props manikmist09.
Fixes #48295 . See #47110 .
Built from https://develop.svn.wordpress.org/trunk@46469
git-svn-id: http://core.svn.wordpress.org/trunk@46267 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-13 02:42:01 +00:00
K. Adam White
55560a708f
REST API: Do not addslash when receiving meta arrays of non-string values.
...
Slashing non-string data caused PUT requests containing unmodified meta arrays of integers to fail the check against the existing stored meta value, causing a 500 when posting an unmodified response body back to the server.
Props TimothyBlynJacobs, augustuswm.
Fixes #48264 .
Built from https://develop.svn.wordpress.org/trunk@46454
git-svn-id: http://core.svn.wordpress.org/trunk@46252 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-09 17:36:01 +00:00
K. Adam White
ed11103f39
REST API: Ensure rest_controller instantiates the post type's declared REST controller class.
...
Ensures that the ::get_rest_controller() method will always return an instanceof the expected controller class, or null.
Removes unused private static property $post_type_controllers.
Props dlh, TimothyBlynJacobs.
Fixes #45677 .
Built from https://develop.svn.wordpress.org/trunk@46435
git-svn-id: http://core.svn.wordpress.org/trunk@46233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-08 13:43:02 +00:00
K. Adam White
5815551dfe
REST API: Permit embedding of the 'self' link relation in the /search endpoint.
...
Removes a special-case prohibition against embedding 'self' which prevented ?_embed from being used with the /wp/v2/search endpoint.
Props TimothyBlynJacobs, chrisvanpatten, kadamwhite.
Fixes #47684 .
Built from https://develop.svn.wordpress.org/trunk@46434
git-svn-id: http://core.svn.wordpress.org/trunk@46232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-08 04:45:02 +00:00
K. Adam White
de6d164870
REST API: Ensure users with "moderate_comments" capability may edit comments.
...
Props meloniq.
Fixes #47024 .
Built from https://develop.svn.wordpress.org/trunk@46433
git-svn-id: http://core.svn.wordpress.org/trunk@46231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-08 04:02:02 +00:00