43811 Commits

Author SHA1 Message Date
Riad Benguella
d66ccc0061 Block Editor: Load theme resolver class in script loader.
script-loader.php is sometimes called directly and in these situations, the Theme_JSON_Resolver class was not defined.

Props nosolosw, noisysocks.
Fixes #53175.


git-svn-id: https://develop.svn.wordpress.org/trunk@51001 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 13:41:30 +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
Sergey Biryukov
55572ad664 Comments: Include a "View Post" link on the Comments screen for a single post.
This makes it easier to view the post on the front end of the site when moderating comments, without having to open the editor first.

Props trejder, audrasjb, vladytimy, lukecarbis, ayeshrajans, chaion07, paaljoachim, hareesh-pillai, SergeyBiryukov.
Fixes #52353.

git-svn-id: https://develop.svn.wordpress.org/trunk@50999 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 12:25:14 +00:00
Sergey Biryukov
645813bc57 Coding Standards: Move assignment out of condition in phpunit/includes/speed-trap-listener.php.
Follow-up to [45588] for `phpunit/includes/phpunit7/speed-trap-listener.php`.

See #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50998 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 11:54:28 +00:00
Robert Anderson
16d50f16ed Adds the widgets block editor to widgets.php and customize.php
Moves the widgets block editor from Gutenberg into WordPress Core.

- Adds @wordpress/edit-widgets, @wordpress/customize-widgets and
  @wordpress/widgets.
- Modifies wp-admin/widgets.php to branch between the old editor and new editor
  depending on wp_use_widgets_block_editor().
- Modifies WP_Customize_Widgets to branch between the old editor control and new
  editor control depending on wp_use_widgets_block_editor().

Follows [50996] which was missing these files.
See #51506.
Props isabel_brison, TimothyBlynJacobs, andraganescu, kevin940726, talldanwp.


git-svn-id: https://develop.svn.wordpress.org/trunk@50997 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 08:51:09 +00:00
Robert Anderson
00bc227eb8 Adds the widgets block editor to widgets.php and customize.php
Moves the widgets block editor from Gutenberg into WordPress Core.

- Adds @wordpress/edit-widgets, @wordpress/customize-widgets and
  @wordpress/widgets.
- Modifies wp-admin/widgets.php to branch between the old editor and new editor
  depending on wp_use_widgets_block_editor().
- Modifies WP_Customize_Widgets to branch between the old editor control and new
  editor control depending on wp_use_widgets_block_editor().

Fixes #51506.
Props isabel_brison, TimothyBlynJacobs, andraganescu, kevin940726, talldanwp.


git-svn-id: https://develop.svn.wordpress.org/trunk@50996 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 08:38:04 +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
Riad Benguella
5f1cf9db57 Block Editor: Load the classic layout stylesheet conditionallty.
Historically, the block editor has been opinionated about the size of the canvas and the alignments.
Themes with theme.json will have to define a "layout" in their settings and the classic stylesheet won't be loaded anymore for this.

Props nosolosw.
See #53175.


git-svn-id: https://develop.svn.wordpress.org/trunk@50992 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 07:39:30 +00:00
Riad Benguella
b31d07e05e Block Editor: Add the layout block support.
The layout block allows containers to define the size of their inner blocks
and the allowed allignments.
It's only enabled for themes with theme.json files.

Props nosolosw.
See #53175.


git-svn-id: https://develop.svn.wordpress.org/trunk@50991 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 07:35:56 +00:00
Aaron Jorbin
84eee38fcb Formatting: Add 'main' tag to kses
`main` is a valid HTML element that is especially valuable for KSES to support in light of full site editing.

Related: https://github.com/WordPress/gutenberg/pull/28576 for the addition of `main` to the group block.

Fixes #53156.
Props glendaviesnz.



git-svn-id: https://develop.svn.wordpress.org/trunk@50987 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 01:42:20 +00:00
Sergey Biryukov
d80fdbca3b Tests: Minimize the chances of signature conflicts for assertEqualsWithDelta().
The PHPUnit 7.5+ method `assertEqualsWithDelta()` was polyfilled for PHPUnit < 7.5, but also overloaded for PHPUnit 7.5 itself, which was not necessary and created a higher chance of signature conflicts, especially when the WP test suite is used as a basis for integration tests with plugins/themes.

This change removes the unnecessary overloading for PHPUnit 7.5+ and simplifies the overloaded method for PHPUnit < 7.5, including removing the `IsEqual()` class alias declaration, no longer needed.

Follow-up to [48952].

Props jrf.
See #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50986 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 01:07:43 +00:00
Peter Wilson
94e04b7917 Build: Use deterministic module ids in webpack for media.
Used `hashed` IDs rather the `named` IDs to reduce file size and remove references to non-existent paths in the final build.

Follow-up for [50940,50984].
Props gziolo, peterwilsoncc.
See #53192.



git-svn-id: https://develop.svn.wordpress.org/trunk@50985 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-25 00:11:13 +00:00
Greg Ziółkowski
187c7fc725 Build: Use deterministic module ids in webpack for media
Follow-up for [50940].
Props peterwilsoncc.
See #53192. 



git-svn-id: https://develop.svn.wordpress.org/trunk@50984 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 21:34:14 +00:00
Greg Ziółkowski
b589f04a03 Editor: Use the block editor context in filters that used the editor name
Follow-up for [50956].
Props azaozz, chrisvanpatten, timothyblynjacobs, youknowriad.
Fixes #52920.



git-svn-id: https://develop.svn.wordpress.org/trunk@50983 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 21:20:31 +00:00
Sergey Biryukov
479ea22b8e Tests: Improve PHPUnit version retrieval.
Always test for newer class names first and fall back to the older.

This improves compatibility when running PHPUnit via a phar while there is also a Composer-installed version of PHPUnit on the system.

Props jrf.
See #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50982 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 21:03:15 +00:00
Jonathan Desrosiers
c3ef52ded7 General: Avoid unnecessary calls to update_user_option().
The `update_user_option()` function is a way to update a user meta value after adding a blog’s prefix to the beginning of the meta key. But when the fourth parameter is `true`, the behavior is exactly the same as calling `update_user_meta()` directly.

This replaces all instances of `update_user_option()` when the fourth parameter is `true` in Core with a direct call to `update_user_meta()` to prevent an unnecessary call to `update_user_option()`.

Props johnjamesjacoby, zkancs, obenland, desrosj.
Fixes #43339.

git-svn-id: https://develop.svn.wordpress.org/trunk@50981 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 19:58:13 +00:00
Jonathan Desrosiers
dda2f6af36 Editor: Hide the quicktags toolbar when JavaScript is disabled.
This adds the `hide-if-no-js` class to the quicktags toolbar in the Classic Editor. This prevents an empty space from showing when JavaScript is disabled.

Props DeusTron, sabernhardt, Boniu91, poena.
Fixes #40570.

git-svn-id: https://develop.svn.wordpress.org/trunk@50980 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 19:43:34 +00:00
Sergey Biryukov
6296427dd7 Site Health: Make sure the submit_button() function is available in request_filesystem_credentials().
This avoids a fatal error when the function is called via REST API from `WP_Site_Health_Auto_Updates::test_check_wp_filesystem_method()`.

Props lakrisgubben, mukesh27, Clorith, SergeyBiryukov.
Fixes #53206.

git-svn-id: https://develop.svn.wordpress.org/trunk@50979 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 19:23:05 +00:00
Sergey Biryukov
44e2c71fb5 Themes: Add an indication of whether a theme is a child theme on network admin Themes screen.
This shows the parent theme name in a child theme's metadata section in the list table, in a similar way it is displayed in the theme details modal on the single site Themes screen.

Props dpik, Mista-Flo, seanchayes, poena, johnbillion, jeremyfelt, bradt, jacklenox, helen, Travel_girl, karmatosed, Presskopp, joyously, SergeyBiryukov.
Fixes #30240.

git-svn-id: https://develop.svn.wordpress.org/trunk@50978 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 19:03:26 +00:00
Jorge Costa
73bf1dab6b Block Editor: Update color merging algorithm.
The npm packages in use were published a few hours ago, which include some changes to how we manage colors. This commit adds the corresponding PHP changes.

Props nosolosw.
See #53175.

git-svn-id: https://develop.svn.wordpress.org/trunk@50977 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 18:56:09 +00:00
Jonathan Desrosiers
7fc0ad094e Twenty Twenty: Hide some elements for print that are not useful in that context.
This adds the comment count, previous/next posts navigation, and category link list to the list of elements hidden from the print context.

Props kjellr, hareesh-pillai, poena.
Fixes #50433.

git-svn-id: https://develop.svn.wordpress.org/trunk@50976 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 18:40:16 +00:00
Jonathan Desrosiers
5da4eb1661 Twenty Twenty-One: Re-add px unit to the admin bar height custom property.
The `px` unit added in [50388] to prevent invalid values when using `calc` functions was inadvertently removed in [50972].

This re-adds the unit to ensure the issue reported in #52564 remains fixed. The same stylelint rule adjustment made in [50388] to `.stylelintrc-css.json` has also been copied over to `stylelintrc.json` file,  which is the configuration file used when linting `.scss` files.

Props ocean90.
See #52624, #52564.

git-svn-id: https://develop.svn.wordpress.org/trunk@50975 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 18:32:17 +00:00
Jonathan Desrosiers
4667ee6efe Bundled Themes: Update devDependencies for default themes.
This updates several `devDependencies` to their latest versions for the Twenty Twenty and Twenty Nineteen themes.

See #52624.

git-svn-id: https://develop.svn.wordpress.org/trunk@50974 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 18:08:16 +00:00
Jorge Costa
3d3aa3cd09 Block Editor: Add Global Styles support using theme.json file.
This is the second piece of landing the theme.json processing in WordPress core. 
It includes the mechanism that outputs the CSS styles of a theme.json file.

Props nosolosw, youknowriad.
See #53175.

git-svn-id: https://develop.svn.wordpress.org/trunk@50973 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 17:38:59 +00:00
Jonathan Desrosiers
3236645ae7 Twenty Twenty-One: Update devDependencies.
This updates several `devDependencies` to their latest versions.

The deprecated `stylelint-config-wordpress` package has also been replaced with the `@wordpress/stylelint-config` package.

This commit also includes several minor adjustments to `.scss` files to decrease the number of coding standards warnings produced when running `lint:scss`.

See #52624.

git-svn-id: https://develop.svn.wordpress.org/trunk@50972 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 15:36:45 +00:00
Sergey Biryukov
95f678bf3d Editor: Remove gutenberg text domain from Query and Social Links block patterns.
Follow-up to [50948].

Props ntsekouras.
Fixes #53265. See #53248.

git-svn-id: https://develop.svn.wordpress.org/trunk@50971 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 13:52:37 +00:00
Sergey Biryukov
1c4268756a Tests: Remove trailing commas in function calls in _wp_array_get() tests.
This fixes parse errors on PHP 7.2 and lower versions.

Follow-up to [49143], [49144], [49580], [50964].

See #51461, #51720, #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50970 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 13:46:39 +00:00
Sergey Biryukov
a5e333f03c Tests: Rename classes in phpunit/tests/privacy/ 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], [50342], [50452], [50453], [50456], [50967], [50968].

See #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50969 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 13:37:56 +00:00
Sergey Biryukov
5ebaf70f7e Tests: Rename some classes in phpunit/tests/theme/ 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], [50342], [50452], [50453], [50456], [50967].

See #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50968 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 13:31:15 +00:00
Sergey Biryukov
e4947e935d Docs: Some documentation and test improvements for WP_Theme_JSON and WP_Theme_JSON_Resolver classes:
* Add missing `@since` tags.
* Update some DocBlocks per the documentation standards.
* Rename test files and classes per the naming conventions.
* Fix some code alignment issues reported by WPCS.

Follow-up to [50959], [50960].

See #52991, #53175.

git-svn-id: https://develop.svn.wordpress.org/trunk@50967 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 13:24:05 +00:00
Sergey Biryukov
23e669465a Tests: Correct description for the Tests_Functions_wpArraySet class.
Follow-up to [50958], [50962], [50964], [50965].

See #53175, #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50966 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 12:27:35 +00:00
Sergey Biryukov
fa0fca4670 General: Some documentation and test improvements for the _wp_array_set():
* Update the function DocBlock per the documentation standards.
* Move the unit tests to a more appropriate place.
* Rename and reorder the tests for consistency with `_wp_array_get()` tests.

Follow-up to [50958], [50962], [50964].

See #53175, #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50965 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 12:24:14 +00:00
Sergey Biryukov
cea9485383 Tests: Add missing tests for the _wp_array_get() function.
Follow-up to [49143], [49144], [49580].

Props jorgefilipecosta, johnbillion.
See #51461, #51720, #52625.

git-svn-id: https://develop.svn.wordpress.org/trunk@50964 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 11:06:15 +00:00
Greg Ziółkowski
c35bfc0378 Editor: Remove unused param in get_default_block_editor_settings
Follow-up for [50776].

Props nosolosw.
See #52920.




git-svn-id: https://develop.svn.wordpress.org/trunk@50963 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 10:22:08 +00:00
Greg Ziółkowski
451044d24d Editor: Rename the unit test file for _wp_array_set function
Follow-up [50958].
See #53175. 



git-svn-id: https://develop.svn.wordpress.org/trunk@50962 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 09:58:23 +00:00
Sergey Biryukov
2c7c677f25 Widgets: Make sure WP_Widget constructor creates a correct classname value for a namespaced widget class.
This reverts the changes to `id_base` from [50953] due to backward compatibility concerns, and instead focuses on the `id` and `class` attributes specifically.

With this change, any backslashes in the `id` or `class` attributes for a namespaced widget class are converted to underscores, making it easier to style the output or target the widget with JavaScript.

Follow-up to [50953].

Fixes #44098.

git-svn-id: https://develop.svn.wordpress.org/trunk@50961 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 09:50:30 +00:00
Greg Ziółkowski
987acb5954 Editor: Fix failing unit test for i18n support in theme.json
As part of the change, I also did some code reorganization to match with how other test fixtures are handled.

Follow-up [50959].

See #52991.



git-svn-id: https://develop.svn.wordpress.org/trunk@50960 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 09:49:48 +00:00
Riad Benguella
ef3da3363a Block Editor: Add Global Settings support using theme.json file.
This is the first piece of landing the theme.json processing in WordPress core. 
It allows themes to configure the different editor settings, allow cusomizations and define presets in theme.json file.
 
Props jorgefilipecosta, nosolosw.
See #53175.


git-svn-id: https://develop.svn.wordpress.org/trunk@50959 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 08:36:11 +00:00
Riad Benguella
c0084bccca General: Add _wp_array_set function.
This adds the _wp_array_set function, which is the counterpart of the existing _wp_array_get.
This utility is to be used by the Global Settings work.

Props nosolosw, jorgefilipecosta.
See #53175.


git-svn-id: https://develop.svn.wordpress.org/trunk@50958 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 08:29:03 +00:00
Greg Ziółkowski
d28766f8f2 Editor: Add missing class WP_Block_Editor_Context
Follow-up for [50956].
See #52920.



git-svn-id: https://develop.svn.wordpress.org/trunk@50957 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 07:37:22 +00:00
Greg Ziółkowski
2a389ad7b7 Editor: Extract block_editor_rest_api_preload method for use with different editor screens
It is going to be used on the new widgets editor screen. This patch also introduced a new class WP_Block_Editor_Context that is going to be used with revised block editor filters to let extenders to keep their existing behavior. It should also allow to provide more settings through the context class as new screens get introduced like the navigation editor.

Props azaozz, chrisvanpatten, timothyblynjacobs, youknowriad.
Fixes #52920.




git-svn-id: https://develop.svn.wordpress.org/trunk@50956 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 07:31:49 +00:00
Greg Ziółkowski
b9b464de8a Editor: Add missing unit tests for block_has_support
Follow-up for [50761].
Props ntsekouras.
Fixes #53257. See #52991.



git-svn-id: https://develop.svn.wordpress.org/trunk@50955 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 06:26:00 +00:00
Peter Wilson
7cd5ecd667 XML-RPC: Set HTTP status code in accordance with the spec.
When the XML-RPC endpoint is enabled, always return a HTTP `200 OK` status code in accordance with the XML-RPC specification. Continue to return an HTTP `405 Method Not Allowed` status code when the endpoint is disabled.

Props ariskataoka, johnbillion.
Fixes #52958.



git-svn-id: https://develop.svn.wordpress.org/trunk@50954 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-24 02:17:36 +00:00
Sergey Biryukov
c4fd562663 Widgets: Make sure WP_Widget constructor creates a correct id_base value for a namespaced widget class.
The `id_base` value is used for the widget's `id` and `class` attributes and also for the option name which stores the widget settings (unless the widget specifies a custom `option_name` value).

With this change, any backslashes in the `id_base` for a namespaced widget class are converted to hyphens, making it easier to style the output or target the widget with JavaScript.

This also avoids a `preg_match(): Compilation failed` PHP warning from `next_widget_id_number()` on the Widgets screen, previously caused by unescaped backslashes.

Props Mte90, hermpheus, rogerlos, welcher, SergeyBiryukov.
Fixes #44098.

git-svn-id: https://develop.svn.wordpress.org/trunk@50953 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-23 08:50:44 +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
Sergey Biryukov
655fbb26ab Media: Some documentation and test improvements for the image_editor_output_format filter:
* Update the filter DocBlock per the documentation standards.
* Use a shorter variable name for consistency with the surrounding code.
* Delete the test file before performing assertions to avoid leftovers in case the test fails.

Follow-up to [50943].

See #52867.

git-svn-id: https://develop.svn.wordpress.org/trunk@50951 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-22 12:58:46 +00:00
Riad Benguella
2fc2afb107 Block Editor: Removed useless block editor render context value.
The "query" context value was meant to be used by the Query block.
But the block has been refactored to avoid relying on context for this.

Props ntsekouras.
Fixes #53250.


git-svn-id: https://develop.svn.wordpress.org/trunk@50950 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-21 15:56:31 +00:00
Adam Silverstein
62327715a0 Revisions: add a new filter for revisions to keep by post type.
Add a new `wp_{$post_type}_revisions_to_keep` filter that makes it convenient to filter the number of revisions created for a specific post type.

Overrides both the value of WP_POST_REVISIONS and the `wp_revisions_to_keep` filter.

Props dlh.
Fixes #51550.



git-svn-id: https://develop.svn.wordpress.org/trunk@50949 602fd350-edb4-49c9-b593-d223f7449a82
2021-05-21 15:28:39 +00:00