Commit Graph

567 Commits

Author SHA1 Message Date
Jonathan Desrosiers
efb1b5946d REST API: Add the $request parameter to methods checking permissions.
This adds the `$request` parameter to the `permissions_check()` methods within `WP_REST_Widgets_Controller` and adds `$request` as an allowed parameter to the `permissions_check()` method within `WP_REST_Templates_Controller`.

Even when this parameter is not used by default, it should be implemented to support the class being extended and the method overidden.

Props johnbillion, timothyblynjacobs.
Fixes #53593.

git-svn-id: https://develop.svn.wordpress.org/trunk@51349 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-06 15:41:35 +00:00
johnbillion
5383af8483 Docs: Add and correct examples of common names for various dynamic hooks.
See #53581


git-svn-id: https://develop.svn.wordpress.org/trunk@51327 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-03 21:41:02 +00:00
John Blackbourn
077504e755 Docs: Further type corrections and improvements for various docblocks.
See #53399


git-svn-id: https://develop.svn.wordpress.org/trunk@51302 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-01 22:01:44 +00:00
John Blackbourn
28ea7b18cf Docs: Corrections and improvements to types used in docblocks for symbols, properties, and filters.
See #53399


git-svn-id: https://develop.svn.wordpress.org/trunk@51298 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-01 21:01:17 +00:00
Sergey Biryukov
278843f8e3 Docs: Correct documentation for rest_{$post_type}_query and rest_{$taxonomy}_query filters.
Synchronize documentation for related `rest_{$object_type}_query` filters for consistency.

Props dlh.
Fixes #53568.

git-svn-id: https://develop.svn.wordpress.org/trunk@51293 602fd350-edb4-49c9-b593-d223f7449a82
2021-07-01 09:11:29 +00:00
Sergey Biryukov
3478f645bc Docs: Remove an empty line between @param and @return tags in some newly added REST API methods, per the documentation standards.
Follow-up to [48242], [49925], [51003], [51021].

See #52628, #53461.

git-svn-id: https://develop.svn.wordpress.org/trunk@51289 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 18:42:59 +00:00
Sergey Biryukov
4ada6a40e7 Docs: List the expected type first instead of WP_Error in some REST API methods added in 5.8.
Follow-up to [46696], [49929], [50995], [51021].

See #52628, #53461.

git-svn-id: https://develop.svn.wordpress.org/trunk@51286 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 17:58:03 +00:00
Sergey Biryukov
40b5523fe5 Docs: Add missing @since tags for some REST API methods added in 5.8.
Follow-up to [50995], [51021].

See #52628, #53461.

git-svn-id: https://develop.svn.wordpress.org/trunk@51280 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 13:57:10 +00:00
Sergey Biryukov
1fffb4642c Docs: Document the globals used in WP_REST_Widget_Types_Controller and WP_REST_Widgets_Controller.
Follow-up to [50995].

See #52628, #53461.

git-svn-id: https://develop.svn.wordpress.org/trunk@51279 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 12:54:10 +00:00
Sergey Biryukov
aa99d7e7a3 Docs: Document the globals used in some REST API methods.
See #53399.

git-svn-id: https://develop.svn.wordpress.org/trunk@51278 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 12:33:43 +00:00
Sergey Biryukov
8a7495701f REST API: Allow multiple widgets to be deleted in a single batch request.
This resets the `WP_Widget::$updated` flag when deleting a widget, to avoid blocking all future updates in a request.

Props noisysocks, andraganescu.
Fixes #53557.

git-svn-id: https://develop.svn.wordpress.org/trunk@51277 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-30 10:40:21 +00:00
Robert Anderson
fba7649418 Widgets REST API: Fix non-multi widgets not appearing in wp_inactive_widgets
Registered widgets that do not extend WP_Widget should appear in the
wp_inactive_widgets sidebar by default. Having the widgets REST API call
retrieve_widgets() before serving any request ensures that this will happen.

This is a similar fix to [51235].

Fixes #53534.
Props zieladam, timothyblynjacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@51248 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-28 04:33:36 +00:00
Riad Benguella
a794914408 Block Editor: Update the packages with a number of fixes targeted for Beta 4.
It includes fixes from these two backport PRs: 

 - https://github.com/WordPress/gutenberg/pull/32992
 - https://github.com/WordPress/gutenberg/pull/32956

Props gziolo, ryelle, ntsekouras, desrosj, jorgefilipecosta.
See #53397


git-svn-id: https://develop.svn.wordpress.org/trunk@51241 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-25 15:50:14 +00:00
Jonathan Desrosiers
eb8c724ea7 REST API: Include the sidebar ID when saving a widget.
This ensures backwards compatibility for code expecting this field to be present.

Props strategio, noisysocks, spacedmonkey.
See #53452.

git-svn-id: https://develop.svn.wordpress.org/trunk@51239 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-25 15:24:14 +00:00
Timothy Jacobs
1de9c692f3 REST API: Retrieve latest widgets before loading sidebars.
This fixes issues where sidebars would be unexpectedly missing from the new widgets screen. Running retrieve_widgets syncs sidebars that were registered after the last theme switch.

Props walbo, hellofromTonya, noisysocks.
Fixes #53489.


git-svn-id: https://develop.svn.wordpress.org/trunk@51235 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-25 13:17:20 +00:00
Jonathan Desrosiers
15b43fb360 Coding Standards: Apply an alignment fix from running composer format.
Follow up to [51216].
See #53481.

git-svn-id: https://develop.svn.wordpress.org/trunk@51229 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-24 19:24:31 +00:00
Jonathan Desrosiers
3073bb0f19 Docs: Various docblock corrections for code added in 5.8.
Props johnbillion.
See #53461.

git-svn-id: https://develop.svn.wordpress.org/trunk@51221 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-23 19:04:51 +00:00
Robert Anderson
7bc4c8684f Widgets: Fix widget preview not working if widget registered via a instance
The register_widget function can be called with a class name or a class
instance. Once called with a class instance, the class instance is converted to
hash as used key in array.

Props spacedmonkey, zieladam.


git-svn-id: https://develop.svn.wordpress.org/trunk@51216 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-23 01:33:20 +00:00
Jonathan Desrosiers
9115546cc7 Docs: Shorten the copyright notice for the WP_REST_Sidebars_Controller class.
The class has been heavily modified from the original source, so the copyright can be modified to simply reference the original author’s work. The carry forward of the copyright and original code is implied.

Follow up to [50993-50995,51007,51020,51029].

Props SergeyBiryukov, cbringmann, chanthaboune, desrosj.
Fixes #41683.

git-svn-id: https://develop.svn.wordpress.org/trunk@51210 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-22 23:04:48 +00:00
Ian Dunn
83c7cad248 Block Editor: Move caching to endpoint for unique responses.
Now that the pattern API request includes the locale and version, the cache key needs to contain a hash of the query args.

Props ocean90, dd32, timothyblynjacobs
Fixes #53435


git-svn-id: https://develop.svn.wordpress.org/trunk@51208 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-22 21:23:19 +00:00
Ian Dunn
7311d4eb59 Block Editor: Send locale, version with remote pattern requests.
This information is needed by the w.org API for translation and caching.

Props dd32, ryelle, tellyworth
See #53435


git-svn-id: https://develop.svn.wordpress.org/trunk@51206 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-22 21:20:44 +00:00
Sergey Biryukov
4b7b089896 REST API: Decode single and double quote entities in widget names and descriptions.
Follow-up to [51174], [51175].

Props ocean90, ramonopoly.
Fixes #53407.

git-svn-id: https://develop.svn.wordpress.org/trunk@51183 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-18 15:51:26 +00:00
Sergey Biryukov
ddd0952ec1 Coding Standards: Fix WPCS issue in [51174].
See #53407.

git-svn-id: https://develop.svn.wordpress.org/trunk@51175 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-17 11:32:57 +00:00
Sergey Biryukov
855bbef616 REST API: Decode HTML entities in widget names and descriptions in widget types controller.
Follow-up to [50995].

Props ramonopoly, noisysocks, spacedmonkey, justinahinon, audrasjb, SergeyBiryukov.
Fixes #53407.

git-svn-id: https://develop.svn.wordpress.org/trunk@51174 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-17 11:28:55 +00:00
Jonathan Desrosiers
5cd6bfe2e0 Coding Standards: Apply an alignment fix.
Follow up to [51021].

See #53246.

git-svn-id: https://develop.svn.wordpress.org/trunk@51093 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-08 13:21:41 +00:00
Sergey Biryukov
d935e0c94a REST API: Restore the $creating parameter of rest_after_save_widget action.
This is consistent with other similar REST API actions.

Partially reverts [51071], except for DocBlock formatting fixes.

Props TimothyBlynJacobs.
See #53317.

git-svn-id: https://develop.svn.wordpress.org/trunk@51074 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-04 23:12:56 +00:00
Sergey Biryukov
e7ac82157e REST API: Rename the $creating parameter of rest_after_save_widget action to $update.
This brings some consistency with similar actions for posts, e.g. `save_post` or `wp_insert_post`.

Follow-up to [51068], [51069].

See #53317.

git-svn-id: https://develop.svn.wordpress.org/trunk@51071 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-04 10:47:01 +00:00
Robert Anderson
efd163e566 REST API: Delete fresh_site option when updating widgets via REST API
Adds new hooks (rest_save_sidebar, rest_delete_widget, rest_after_save_widget)
to the widgets REST API and uses them to delete the fresh_site option when
updating widgets via the REST API. This ensures that starter content isn't
loaded in the Customizer after a user makes changes.

Fixes #53317.
Props kevin940726, garrett-eclipse, andraganescu, hellofromtonya.


git-svn-id: https://develop.svn.wordpress.org/trunk@51068 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-04 00:44:41 +00:00
Robert Anderson
a46baca60e REST API: Add 'delete_widget' action to delete widget endpoint
Triggers the 'delete_widget' action to the delete widget endpoint in the REST
API. This aligns with the behaviour in the widgets WP Admin screen.

Fixes #53289.
Props isabel_brison, TimothyBlynJacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@51060 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-02 01:39:34 +00:00
Robert Anderson
08d48b9e21 REST API: Fix delete widget endpoint
Makes the `DELETE /wp/v2/widgets/:id?force=1` endpoint actually delete the
widget from the `"widget-$id_base"` option and not just remove it from
`'sidebars_widgets'`.

Fixes #53313.
Props TimothyBlynJacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@51059 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-02 01:21:17 +00:00
Timothy Jacobs
8edfb80800 REST API: Remove duplicates in the widget types endpoint.
Props noisysocks, spacedmonkey, imath, isabel_brison.
Fixes #53305.


git-svn-id: https://develop.svn.wordpress.org/trunk@51049 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-31 20:56:22 +00:00
Timothy Jacobs
852a2c216c REST API: Add support for modifying the term relation when querying posts.
By default, a post most contain any of the requested terms to be included in the response. This commit adds a new `operator` property that can be set to `AND` to require a post to contain all of the requested terms.

For example, `/wp/v2/posts?tags[terms]=1,2,3&tags[operator]=AND` will return posts that have tags with the ids of 1, 2, and 3.

Props dlh, earnjam, Clorith, jnylen0, sebbb.
Fixes #41287.


git-svn-id: https://develop.svn.wordpress.org/trunk@51026 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-26 02:15:51 +00:00
Kelly Choyce-Dwan
849c811396 Block Editor: Add support for the pattern directory.
Add an endpoint for fetching block patterns from WordPress.org, and load the block patterns from this new API. Remove the block patterns that have already been moved to WordPress.org/patterns.

Props ryelle, iandunn, youknowriad, timothyblynjacobs.
Fixes #53246.



git-svn-id: https://develop.svn.wordpress.org/trunk@51021 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-26 01:10:57 +00:00
Riad Benguella
ea49625d59 Block Editor: Introduce block templates for classic themes.
With this patch, users will be able to create custom block based templates
and assign them to specific pages/posts.

Themes can also opt-out of this feature

Props bernhard-reiter, carlomanf.
Fixes #53176.


git-svn-id: https://develop.svn.wordpress.org/trunk@51003 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 14:19:14 +00:00
Sergey Biryukov
3d5a37a9bc REST API: Update “object” strings to use the appropriate nouns.
This updates route arguments and schema descriptions to use more specific object types for clarity.

Follow-up to [39342].

Props lephleg, jnylen0.
Fixes #40720.

git-svn-id: https://develop.svn.wordpress.org/trunk@51000 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 13:11:55 +00:00
Robert Anderson
bc48d7ae09 REST API: Add widget endpoints
Adds the sidebars, widgets and widget-types REST API endpoints from the
Gutenberg plugin.

Fixes #41683.
Props TimothyBlynJacobs, spacedmonkey, zieladam, jorgefilipecosta, youknowriad, kevin940726.


git-svn-id: https://develop.svn.wordpress.org/trunk@50995 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 08:26:21 +00:00
Robert Anderson
1b05374ddd REST API: Revert widget endpoints
Reverts [50993] as it has missing props.

Reverts [50993].
See #41683.


git-svn-id: https://develop.svn.wordpress.org/trunk@50994 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 08:21:03 +00:00
Robert Anderson
909bd7fad0 REST API: Add widget endpoints
Adds the sidebars, widgets and widget-types REST API endpoints from the
Gutenberg plugin.

Fixes #41683.
Props TimothyBlynJacobs.


git-svn-id: https://develop.svn.wordpress.org/trunk@50993 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 07:51:14 +00:00
Sergey Biryukov
cc6d56f503 Docs: Use 3-digit, x.x.x-style semantic versioning for two _doing_it_wrong() calls.
Follow-up to [37985], [38420], [39021].

See #52628.

git-svn-id: https://develop.svn.wordpress.org/trunk@50952 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-22 13:08:12 +00:00
David Baumwald
be105fd0f5 Docs: Update help key documentation link in REST API response.
Props dd32, mukesh27, audrasjb, SergeyBiryukov.
Fixes #53162.

git-svn-id: https://develop.svn.wordpress.org/trunk@50840 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-11 18:03:37 +00:00
Adam Silverstein
6a5ff5aa03 Images: enable WebP support.
Add support for uploading, editing and saving WebP images when supported by the server.

Add 'image/webp' to supported mime types. Correctly identify WebP images and sizes even when PHP doesn't support WebP. Resize uploaded WebP files (when supported) and use for front end markup.

Props markoheijne, blobfolio, Clorith, joemcgill, atjn, desrosj, spacedmonkey, marylauc, mikeschroder, hellofromtonya, flixos90.
Fixes #35725.



git-svn-id: https://develop.svn.wordpress.org/trunk@50810 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-04 14:43:36 +00:00
Sergey Biryukov
30ff995eb0 REST API: Check the results of get_metadata() in WP_REST_Meta_Fields methods.
This avoids PHP warnings in case the function returns boolean `false` instead of an array.

Props david.binda.
Fixes #53099.

git-svn-id: https://develop.svn.wordpress.org/trunk@50793 602fd350-edb4-49c9-b593-d223f7449a82
2021-04-27 18:34:52 +00:00
Jonathan Desrosiers
312b67e82a REST API: Allow authors to read their own password protected posts.
Allow authenticated users to read the contents of password protected posts if they have the `edit_post` meta capability for the post.

Props xknown, zieladam, peterwilsoncc, swissspidy, timothyblynjacobs.

git-svn-id: https://develop.svn.wordpress.org/trunk@50717 602fd350-edb4-49c9-b593-d223f7449a82
2021-04-14 23:22:07 +00:00
Rachel Baker
a7d053801d REST API: Move the rest_jsonp_enabled filter before setting the Content-Type header.
Fixes an issue where if JSONP was disabled the `Content-Type` HTTP header was still set to `application/javascript`.  

Props dd32, TimothyBlynJacobs.
Fixes #52691.

git-svn-id: https://develop.svn.wordpress.org/trunk@50695 602fd350-edb4-49c9-b593-d223f7449a82
2021-04-09 21:26:07 +00:00
David Baumwald
22e2fce903 Coding Standards: Remove some extra whitespace in get_item_schema.
Introduced in [50527].

See #52627.

git-svn-id: https://develop.svn.wordpress.org/trunk@50632 602fd350-edb4-49c9-b593-d223f7449a82
2021-04-01 15:52:35 +00:00
Peter Wilson
e2fff3fddc 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.
Fixes #52787.


git-svn-id: https://develop.svn.wordpress.org/trunk@50567 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-23 23:34:59 +00:00
Sergey Biryukov
1446948f95 Docs: Add missing @since tags for item_link and item_link_description post type and taxonomy labels.
Follow-up to [50527].

See #52688.

git-svn-id: https://develop.svn.wordpress.org/trunk@50529 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-13 10:23:56 +00:00
Greg Ziółkowski
380d0445e8 Editor: Make block type aware of variations
Currently block variations are only defined on the client. In some cases, creating block variations on the server can be very useful, especially when needed data is not exposed in the REST APIs.

Related to https://github.com/WordPress/gutenberg/pull/29095.

Props: gwwar, timothyblynjacobs.
Fixes: #52688.



git-svn-id: https://develop.svn.wordpress.org/trunk@50527 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-12 13:33:21 +00:00
John Blackbourn
fa05e5e733 Docs: Add examples of possible names for various hooks whose name contains a dynamic portion.
This provides greater discoverability of such hooks in search results on the Code Reference site as well as increased clarity when reading the source.

See #50734, #52628


git-svn-id: https://develop.svn.wordpress.org/trunk@50505 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-07 12:30:38 +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