The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site forย general updates, status reports, and the occasional code debate. Thereโs lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in the bug tracker.
Update on 5 May 2022: Updates to the @wordpress/create-block templating system and Block Locking Settings in WordPress 6.0dev notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. were added to the BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor section.
With the Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1 officially shipped, itโs time to explore the next major releasemajor releaseA release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WordPress 6.0. This release introduces Style variations, the Block Locking UIUIUser interface, various writing improvements, more design tools, new hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same., updated external libraries, and more! At a high level, there areย 97 enhancements and feature requests,ย 131 bug fixes and 13 Gutenberg bug fixes,ย 23 other blessed tasks, which brings us toย 251 Trac tickets in total.
The new performance team has been working hard to improve various parts of WordPress. A lot of queries have been optimized and some removed, cache improved, multiple translations of the same strings removed, just to mention a few.
Letโs take a deeper look at what to expect in 6.0.
Note: some of the changes will require pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-partyPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme authors to adapt or change their code. Please, read these Dev notesdev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.Each important change in WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blogblog(versus network, site) during the betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field GuideField guideThe field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. at the beginning of the release candidate phase. carefully to make sure your code is ready for WordPress 6.0 on May 24, 2022.
Accessibility
Along with performance, lots of work has focused on improving accessibility in various parts of the WordPress software.
The Block Editor updates bring new functionality, fixes, and more:
The ability to bundle multiple Style variations for block themes.
The option to create page content patterns that users can choose from to create their pages.
New ancestor property in block.json letting one restrict where users can place their blocks.
A new block locking UI with a lock attribute for every block.
Registration of blocks from within themes.
Improved support for preserving unrecognized content in the editor.
More robust block theme export feature in the Site Editor.
Block markup updates for image, quote, list, and group blocks.
New set of Post Comments blocks, No Results block, and more.
& more!
Of note, if you currently have the Gutenberg plugin active on your website and are upgrading to WordPress 6.0, please make sure Gutenberg is updated to its latest version. This helps ensure the best experience possible.
In WordPress 6.0 wp_cache_*_multiple API becomes a full CRUD. Also, option to flush the runtime cache without flushing the entire persistent cache is being enabled.
Taxonomies received a lot of performance improvements, from term query caching and adding limits to taxonomy queries, through navigation menu items to changing term_exists to use get_terms().
This new release offers a streamlined way for theme authors to work with patterns, support for multiple theme.json files AKA style variations, better export themes with Site Editor, and a few more goodies.
Allow block themes to be activated withoutย index.php
This change removes the requirement for block themes to have an unusedย index.phpย template just for activation, as they use aย templates/index.htmlย file instead. (#54272)
Correct the logic for displaying aย _doing_it_wrong()ย notice forย add_theme_support( โhtml5โ )
Callingย add_theme_support( 'html5' )ย without passing an array of supported types should throw aย _doing_it_wrong()ย notice: โYou need to pass an array of typesโ.
If the second parameter is not specified, it should fall back to an array ofย comment-list,ย comment-form, andย search-formย for backward compatibility.
If the second parameter is not an array, the function should returnย false.
With 6.0 WordPress installs with more than 10,000 users, so called โlarge sitesโ, will receive performance improvements for querying and counting users.
Administration: Add aย media_date_column_timeย filter to the media list table date column. Similar to the existingย post_date_column_timeย filter in the posts list table, this change adds a new hook to filter the โDateโ column output in the media list view. (#42942)
Build: Update webpack to v5.x. This aligns closer with how the Gutenberg plugin handles WordPress packages. Enable React Fast Refresh support to WordPress core for block development withย @wordpress/scripts. Bringย caniuse-liteย to the latest version which ensures that build tools target the most recent version of browsers supported by WordPress. (#51750, see #55505)
Build/Test Tools:
A .git-blame-ignore-revs file has been added to the repository with a curated list of โpinking shearโ commits (ones only applying stylistic changes), making the blame feature on GitHub much more usefulย (#55422)
Webpack and all related build processes/scripts have been updated to version 5ย (#51750).
The npm install command has been fixed for contributors using an Apple M series silicone by updating the grunt-contrib-qunit dev dependencyย (#52690).
Bundled Theme: If youโve been having problems with order of elements in comment form in Twenty Nineteen theme, thereโs a good news for you in #46600. Itโs fixed!
Canonical: Function redirect_guess_404_permalink() includes all public statuses, rather than just publish, in 404 redirects in its search. (#47911)
Comments:ย Speeding up Dashboard and Comment moderation SQL load โ (#19901)
Emoji: Update the Twemoji to version 14.0.2. This version introduces support for the latest Emoji added in Emoji 14. (#55395)
Update jQuery Color to 2.2.0. Removes bundled version (still existed within core), in favor of expanding the Grunt build steps to include the package from NPM instead. (#55016)
Upgrade PHPMailer to version 6.5.4. The latest release includes some minor PHP cross-version improvements and a safeguard against hosters disabling security functions. Note to hosting providers: donโt disableย escapeshellarg()ย andย escapeshellcmd(); itโs not safe! Release notes: https://github.com/PHPMailer/PHPMailer/releases/tag/v6.5.4 (#55187)
Add support for formatting sizes as PB, EB, ZB, and YB. (#40875)
KSES: Add support forย <ruby>ย and related elements. This is especially commonly used in Japanese content, but it can also been seen in content of other languages like Chinese. The set of elements to enable such functionality consists ofย <ruby>,ย <rt>, andย <rp>ย in theย HTML Standard, while some browsers (like Firefox) additionally supportย <rb>ย andย <rtc>ย for more advanced formatting. (#54698)
KSES: Allowย lang,ย xml:lang,ย dirย attributes globally. Globally permit theย lang,ย xml:lang, andย dirย attributes on all elements rather than a subset in accordance with the HTML specification. (#54699)
Function get_the_author_link() is going to be pluggable in WordPress 6.0. A new filter, get_the_author_link, is added for altering author link output. (#51859)
I18n:
List item separator should be a WP_Locale propertyย (#39733)
Allow languages path in register_block_typeย (#54797)
Media:
Removeย attachment_fields_to_saveย filter and deprecateย image_attachment_fields_to_save(). This filter prevented removing attachment titles. This changeset removes the filter and deprecates the related function since it is no longer used. (#39108)
Enable edits to custom image sizes. With a new filter edit_custom_thumbnail_sizes users will be able to apply media edits to individual custom image sizes. (#28277)
Network/Sites: Improve cache key generation in WP_Site_Queryย (#55462)
Plugins:
Introduce theย plugin_install_descriptionย filter. This allows for modification of the plugin card description on the Add Plugins screen. (#55480)
Convertย apply_filters()ย into a proper variadic function. (#53218)
Posts, Post Types: Pass theย $updateย parameter toย wp_insert_post_dataย andย wp_insert_attachment_dataย filters. This makes it easier to determine in a callback function whether this is an existing post being updated or not. (#46228)
Posts, Post Types; Taxonomy: Translate default labels once. Improve the translation of post type and taxonomy labels by caching the translations during runtime.ย (#26746)
Please, test your code. You can use theย Beta Tester pluginย on a test site to validate how your plugin or theme functions with WordPress 6.0 RC1.ย Fixing issues that your code has with WordPress core helps you and millions of WordPress sites.