In `wp_get_document_title(), the returned value is currently passed directly through `wptexturize()`, `convert_chars()`, and `capital_P_dangit()`, and is done so after the `document_title_parts` filter is run.
This makes it impossible to fully control the output of `wp_get_document_title()` and is inconsistent with how other similar text is processed with these functions.
This commit introduces the `document_title` filter, which is run immediately before returning the results of the `wp_get_document_title()` function and moves the three formatting functions mentioned above to the new filter hook. This allows developers to further modify the title after being prepared by WordPress, or to modify the functions hooked to this filter as they wish.
Props dragunoff, jeremyfelt, paaggeli, audrasjb.
Fixes#51643.
git-svn-id: https://develop.svn.wordpress.org/trunk@51019 602fd350-edb4-49c9-b593-d223f7449a82
This improves performance for sites with persistent cache backend having a lot of pages requested via the `get_pages() function, by taking advantage of `wp_cache_get_multiple()` instead of fetching each individual page from the backend cache server one by one.
It also matches the behaviour of `get_pages()` when the pages are retrieved from the database.
Props david.binda, hellofromTonya.
Fixes#51469.
git-svn-id: https://develop.svn.wordpress.org/trunk@51018 602fd350-edb4-49c9-b593-d223f7449a82
This updates the following polyfill libraries bundled with WordPress to their latest versions:
- `formdata-polyfill` from `3.0.20` to `4.0.0`.
- `polyfill-library` from `3.104.0` to `3.105.0`.
Fixes#52854.
git-svn-id: https://develop.svn.wordpress.org/trunk@51017 602fd350-edb4-49c9-b593-d223f7449a82
This makes it easier to run `phpunit` Grunt tasks without having to figure out how and which PHPUnit version needs to be installed.
It also more closely matches the `format:php` task.
Follow-up to [47881].
Props ocean90.
Fixes#53015.
git-svn-id: https://develop.svn.wordpress.org/trunk@51016 602fd350-edb4-49c9-b593-d223f7449a82
The `customize_changeset`, `wp_block`, and `wp_template` post types are not displayed in the admin menu or in the admin bar.
If they do get added, the labels can just fall back to `name` and `singular_name` until separate strings are required for more flexible translations.
Follow-up to [38810], [44146], [51003].
See #53176.
git-svn-id: https://develop.svn.wordpress.org/trunk@51015 602fd350-edb4-49c9-b593-d223f7449a82
Remove redundant `show_in_admin_bar` property, which defaults to the value of `show_in_menu`.
Follow-up to [51003].
See #53176.
git-svn-id: https://develop.svn.wordpress.org/trunk@51014 602fd350-edb4-49c9-b593-d223f7449a82
Since the class is now loaded via `wp-includes/script-loader.php`, which is required earlier in `wp-settings.php`, loading it again in `wp-settings.php` is redundant.
Follow-up to [50992], [51001].
See #53175.
git-svn-id: https://develop.svn.wordpress.org/trunk@51013 602fd350-edb4-49c9-b593-d223f7449a82
This provides direct links to install and activate the plugin, if the user has the capabilities to do so, instead of just linking to plugin search results.
It also matches more closely the message about installing the Classic Editor plugin for meta boxes incompatible with the block editor.
Follow-up to [22855], [44280], [45657].
Props tw2113, peterwilsoncc, SergeyBiryukov.
Fixes#52669.
git-svn-id: https://develop.svn.wordpress.org/trunk@51011 602fd350-edb4-49c9-b593-d223f7449a82
This updates the phpass library from version `0.3` to the latest version of `0.5`. This is a minor update that includes some adjustments to be more friendly with newer versions of PHP.
The changes made in [30466] have also been applied to the new version of the library. This should now be the only WordPress specific modification do this library.
Props ayeshrajans, dd32, otto42, desrosj.
Fixes#51549.
git-svn-id: https://develop.svn.wordpress.org/trunk@51008 602fd350-edb4-49c9-b593-d223f7449a82
Adds an option to bulk delete menu items from the core Navigation Menus screen, offering a considerable usability benefit when making significant changes to navigation menus.
Uses the bulk select pattern found in post and media lists for consistency with other core management screens, rather than the rapid delete pattern found in menus in the customizer.
Props wphound, welcher, melchoyce, maxpertici, audrasjb
Fixes#21603.
git-svn-id: https://develop.svn.wordpress.org/trunk@51006 602fd350-edb4-49c9-b593-d223f7449a82
This adds a new parameter to the action and filter hooks found in `wp_insert_user()` to pass the raw user data received through `$userdata` to hooked functions.
This will allow hooked functions to perform more contextual adjustments to new users, and makes supplying custom user meta fields possible.
Props johnbillion, audrasjb.
Fixes#53110.
git-svn-id: https://develop.svn.wordpress.org/trunk@51005 602fd350-edb4-49c9-b593-d223f7449a82
In IE11, the floated icon causes the "Howdy, username" to wrap to a second line, preventing access to help tabs and possibly affecting the frontend. Changing the display fixes the layout, and prevents the wrap.
Props bhwebworks, 5um17, sabernhardt, boniu91, audrasjb.
Fixes#26933.
git-svn-id: https://develop.svn.wordpress.org/trunk@51004 602fd350-edb4-49c9-b593-d223f7449a82
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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