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.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).
The 180th Gutenberg 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-party release comprises a total of 206 closed PRs by 59 contributors and with a record-setting 17 first-time contributors. You’ll find in the release the result of additional Data View work, improvements for featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. and and media+ text 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. . The changelog also lists a ton of 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. fixes, performance improvements and about 35 PRs of Documentation updates.
In addition to Style Variations, the Site view screen is now populated with the controls to set side-wide color and typography choices. This will streamline designers’ workflows. (59594)
Featured Image: Now in Media + Text, with shadow support.
Users can use the Media + Text block in their templates as it now supports the featured image. The design possibilities now opened up beyond a column-bases layout also for single post or page templates. Drop shadow controls expand the design tools for developers, designers and site owner alike. (51491) (59616)
Data Views with improved filters and updated Template index page
The data views screens, which are also prototypes for the future adminadmin(and super admin) list pages, received quite a few intriguing updates. The Templates index page is now very flexible. In addition to the table view, users can now also enable a grid layout with preview cards or a list view that allows for full preview in a three-page window. The list view is available for templates, pages, and template parts. Another enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the ability to select multiple criteria for filters. (59610) (59858) (59792)
Other Notable Highlights
The Grid layout experiments are the next step to consistent responsiveness of posts, pages, and templates. They are evolving quite a bit. If you haven’t opened them up you might want to start doing so now. This release includes a couple of updates. Blocks can now be grouped as a grid via the transform feature. With Column Start and Row Start controls in the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., the Drag and Drop of blocks around the grid is now possible. (59483) (59853)
Changelog
Full changelog available
Enhancements
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Update method generating plural names. (59881)
Expand main content area to viewport when zoomed out. (59512)
Reduce visual prominence of primary actions in table data views, and consolidate primary + secondary actions in ellipsis menu. (59128)
Site Editor
Patterns: Add a title to the categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. delete flow and increase line height. (59645)
Standardize block tools toggle button size to 32px. (59625)
Add Box Shadow support for featured image. (59616)
Background block supports: Move block support defaults to gutenberg_render_background_support and revert gutenberg_get_background_support_styles. (59889)
Layout
Add Column Start and Row Start controls to Grid children. (59483)
Try color and typography presets in Site View. (59594)
Block APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
Display settings ‘label’ defined by the ‘register_setting’ method. (59243)
Rich Text
RichText: Add non-breaking space shortcut on Windows. (43150)
New APIs
Support the PluginDocumentSettingPanel slot in the site editor. (59985)
Add filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for duotone to account for gutenberg_restore_image_outer_container in classic themes. (59764)
Social icons: Only render label container when there’s a label. (60060)
Template Parts: Fix typo in translatable string. (59816)
Ensure consistent return type in WP_Navigation_Block_Renderer::Get_markup_for_inner_block(). (59820)
Return early from saving metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data for the navigation without a $post->ID. (59875)
Fix root ID calculation when check if block can be transformed. (60167)
Featured Image: Fix overlay rendering in the editor. (60187)
Navigation: Avoid content loss when only specific entity fields are edited. (60071)
Font Library
Avoid auto-removing font families without font faces. (59910)
Ensure that errors reported from uploading font files are not duplicated. (59564)
Fix JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. errors when activating or deactivating system fonts. (59935)
Refactors the upload handler in order to check if files being uploaded are valid font files. (59648)
Reset notices when navigating away from the collection. (59981)
Activate the fonts coming from the backend and not the data from the frontend. (60093)
Install fonts in sequence to work around race condition. (60180)
Interactivity API
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. fixes from Core. (59903)
Interactivity: Ensure stores are initialized on client. (59842)
Interactivity: Restore scope when yielded promise rejects. (59708)
Prevent non-object state from being added. (59886)
Re-introduce data_wp_context() with _deprecated_function() call. (59834)
Site Editor
Don’t display welcome guide in hybrid theme. (55865)
Editor: Fix loading templates using a top level pattern block that includes a template part. (59900)
Fix opening of save panel when using the save shortcut. (59647)
Fix selected featured image when opening media library. (59769)
Make the delete navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. confirm dialogs consistent. (59825)
Restore the back button when navigating to the template from the home page. (59639)
Block Editor
Fix allow mouse users to edit link text when Link UIUIUser interface is active. (59635)
Fix crash when unmounting an editor iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (59992)
Handle when attributes param passed into hasStickyOrFixedPositionValue is nullish. (59800)
List view: Fix stuck moving animation on Enter. (59644)
Shadow support enable skip serialization for dynamic blocks. (59887)
FlatTermSelector: Invalidate optimistic update if term creation fails. (59945)
Global Styles
Fix retrieval of referenced preset values in editor. (59811)
Global Syles: Apply fallback background color to typography elements. (59347)
Presets: Show the default empty variation as well as the other presets. (59717)
Remove filter for same number of settings. (59590)
Site editor: Find font families for typography presets crashes editor. (59806)
Force root min-height of 100% for backgrounds. (59809)
Featured Image: Fix block support selectors after shadow support addition. (60184)
Fix list of base theme fonts when a theme variation is applied.. (59959)
Patterns
Add pattern title in create modal in post editor. (59550)
Pattern Explorer: Pass ‘rootClientId’ to the pattern list. (60014)
Pattern Shuffling: Don’t assume that patterns have categories. (60070)
Data Views
Ensure the ‘select all’ checkbox appears on hover. (59799)
Fix: RegressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.: Default templates and template parts views do not work. (59794)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Make save panel a dialog with proper labels, fix site editor focus loss after save. (59622)
Fix labeling of the navigation links in the list view. (59370)
Documentation
Block JSONJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema: Add layout.allowCustomContentAndWideSize field. (59736)
Components: Fix headline hierarchy in README. (59726)
Components: Hide private READMEs from handbook. (60003)
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. links to getting started with JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.. (59927)
Fixes pseudo code doc block to use real PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (60012)
HeadingLevelDropdown: Fix JSDoc and documentation. (59727)
Replace “sidebar” with “panel” in README.md. (59664)
Update GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ edit URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in docusaurus.config.js. (59969)
Update ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. documentation links for forms. (59657)
Update api-reference – data-bind–hidden is an incorrrect attribute – should be data-wp-bind–hidden. (59955)
Update block supports documentation for WordPress 6.5. (59862)
Core Data: Clarify comments for entities’ plural methods. (59946)
Fix Code Standards for RCrelease 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). 2 release. (59774)
Fix typo in Dataviews and Font Collection packages. (59656)
Update Nav block permissions variable naming accuracy. (59882)
Global Styles
Fetch the variations inside the component. (59588)
Theme JSON: Remove unused vars in layout class. (59938)
Use the preivew iframe to preview typography for consistency. (59587)
Background block supports: Move size defaults to 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. and block.json. (60008)
Plugin
Remove unnecessary ‘IS_GUTENBERG_PLUGIN’ check in ‘load.php’. (59873)
Update PHP Sync Issue generation script to ignore PRs with given labels. (59549)
Data Views
Update: Dataviews do not use strings on isCustom props passed down. (59609)
[Data Views]: Remove separator in item actions. (59822)
Data Layer
Data: Deprecate the getIsResolving selector. (59679)
Tools
Build Tooling
Add inline comment denoting version for Ruby setup. (59640)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg.
As with Gutenberg 17.8, many contributors are still focused on polishing for the upcoming WordPress 6.5 release, so this Gutenberg release continues to prioritize stability and 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. fixes. Enhancements and new features are highlighted below.
As a reminder, with WordPress 6.5 now in the RCrelease 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). phase, bug fixes from the Gutenberg 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-party are backported for inclusion in 6.5 as needed. However, new features in Gutenberg 17.9 will not be included in WordPress 6.5.
Color and typography presets that are defined in theme variations are now exposed within the color and typography sections of Global Styles. This new feature allows users to mix and match color presets or typography from different variations, offering greater flexibility for designs from a given theme. (56622)
Indenting List 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. items via the tab key
The List block now supports indenting and outdenting when the selection is at the beginning of the List item. This improves the usability of the List block by allowing indenting via the keyboard, while still preserving existing tabbing behavior in the editor canvas when the selection is elsewhere within the block. (59199)
Shuffle option when choosing patterns
When a pattern is inserted and has categories defined, and where the pattern contains a single top-level block such as a Group block, a shuffle button is exposed in the block toolbar that allows a user to cycle through random patterns. This makes it easier to quickly browse through a variety of available patterns in specific scenarios. (59251)
Swap Template Parts in the Inspector
When selecting a Template Part in the site editor, the replace flow is now more discoverable with previews of alternate Template Parts available to select from the block inspector controls. This allows for a more at-a-glance approach to browsing different options for swapping out headers and footers. (55128)
Other Notable Highlights
Background images can now be set in the root of theme.json to provide site-wide background images (59354). There is currently no UIUIUser interface for it in Global Styles, and this will be explored in future releases.
For container blocks that use allowedBlocks, insert before and after actions are now supported on child blocks (59162).
Use drag handles to set row and column span and see a dotted outline of block placement when the new “Grid interactivity” experiment is enabled (59052).
Changelog
Full changelog available
Enhancements
Data Views
Apply hover styles to filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. chip while being configured. (59236)
Display all checkboxes when a single item is selected. (59233)
Pages data view: Make ‘View’ button open a new tab. (59554)
Update sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. titles for Template and Page management data views. (59011)
Global Styles
Add background image to top-level theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. styles. (59354)
Add color and typography presets to Global Styles. (56622)
Create a shared component for typography previews. (59503)
Enqueue block custom CSSCSSCascading Style Sheets. only when block renders on the page. (58991)
Style Book: Should persist when browsing global styles panels. (59261)
Block Library
Introduce the ‘useUploadMediaFromBlobURL’ utility hook. (59350)
Remove redundant copy from PanelBody titles. (59278)
Template Parts: Add a replace flow to the inspector controls. (55128)
Site Editor
Block Theme Previews: Remove “Looking for Template Parts?” hint. (59092)
Remove the site editor sidebar navigation edit button. (59335)
Scale the zoomed out mode to fit available space. (59342)
View full zoomed out mode canvas while inserting patterns. (59337)
Update the spacing in the font collection panel. (59357)
Post Editor
Editor: Standardize headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. button size to 32px. (58532)
Add Shuffle option to sections via pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (59251)
Use block naming for marking blocks as overridable in patterns. (59268)
Components
Storybook: Add mechanism to redirect moved stories. (59181)
Nested / Inner Blocks
InnerBlocks: Support insert before/after block actions when using allowedBlocks. (59162)
Plugin
Update cherry pick script to add Backported to WP Core label for backports. (58970)
Bug Fixes
Block Library
Columns: Correctly recalculate column widths when the column count is increased by more than 2 at once. (59301)
Group: Fix alignment of Group block placeholder text. (59271)
Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Don’t show publicly non-queryable taxonomies. (59458)
Image: Remove scrolling of empty image blocks. (59305)
Site Logo: Update URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for site icon settings with fallback for WP coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. versions earlier than 6.5. (59485)
Site Logo: Update capitalization of Use as Site Icon toggle. (59383)
Title & Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Hide non content controls when block editing mode is ‘contentOnly’. (59295)
Font Library
Avoid creating font families without font faces. (59436)
Avoid loading theme fonts twice and assume they were already resolved by the font face resolver. (59421)
Changed installFont to installFonts so that multiple font families can be installed at once. (59451)
Fixed the font family modal to open in state when a font is already selected. (59379)
Font collection pagination: Add min height to avoid infinite number. (59241)
Hide UI elements when user lacks permissions. (59332)
Load/Unload the font face in browser when toggling the variants. (59066)
Use SearchControl component for search input. (59589)
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
Fix navigate() issues related to initial state merges. (57134)
Navigation: Add missing empty space to print out valid HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (59255)
Prevent unwanted subscriptions to inherited context props. (59273)
HStack, VStack: Stop passing invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. props. (59416)
Rich text: Fix typing into empty flex element. (59473)
URLPopover: Fix a problem with the layout of link settings. (58906)
Fix issue with appender jumping when creating a new pattern. (59582)
Allow event bubbling even if keydown is passed. (59474)
Custom Fields
Block Bindings: Fix console error when selecting a bound block. (59598)
Change default “Connected to a custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes.” message in bindings. (59434)
Fix inserting button block when pressing enter in a block with bound text attribute. (59361)
Fix query loop with block bindings not working in the editor as expected. (59283)
Data Views
DataViews: Don’t use combobox when there are few available options. (59341)
DataViews: Set color for primary field/a element when focused. (58814)
Ensure ResizableFrame does not force Cover blocks within the editor to show drag handles. (59262)
IframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.: Scale html instead of iframe element for zoomed out mode. (59334)
Zoom out mode: Only apply grey background for mode. (59377)
Site Editor: Fix Global Styles outdated output. (59628)
Fix site editor crashing when not fully loaded. (59658)
Global Styles
Dynamically set border panel label based on the controls available. (59358)
Shadow: Fix layout collapse when indicator is selected. (59309)
Theme JSON: Check for null values to cater for blockGap. (59258)
Remove the extra unneeded color variations panel. (59718)
Post Editor
Command Palette: Prevent mode switching if only one editor mode is available. (59299)
Editor: Fix post type check in isEditingTemplate selector. (59105)
Top Toolbar: Fix ‘collapsed’ state synchronization. (59267)
Block 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.
Display toggle for hooked blocks added via filter. (59396)
Navigation Block: Fix erroneous escaping of ampersands. (59561)
Patterns
Disable image caption if part of synced pattern. (58916)
Disable selection checkbox if no bulk actions are eligible. (58950)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Docs: Fix typo in blocks attributes guide. (59571)
Docs: Remove TOC, update formatting, and fix grammar in Interactivity API reference. (59406)
Fix @wordpress/interactivity module ID in documentation. (59419)
Fix: Multi line comment format on footnotes block. (59312)
Format PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher inline comments correctly. (59452)
Interactivity API Docs: Add async actions documentation. (59401)
Interactivity API Docs: Add initial version of getContext and getElement. (59293)
Interactivity API Docs: Add server functions documentation. (59373)
Interactivity API Docs: Add withScope description. (59542)
Interactivity API Docs: Fix code not closing. (59395)
Interactivity API Docs: Update image with WordPress Make Core source. (59281)
Interactivity API Docs: Merge Interactivity documentation to keep consistency with other packages. (59270)
Theme JSON Tests: Refactor base styles to a static variable. (58975)
Update: Simplify code and use capture events instead of pointer-events hack. (59565)
l10nL10nLocalization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.: Unify terminology to screen size. (59456)
Block Library
BlockPopover: Remove __unstableCoverTarget and __unstableRefreshSize in favour of BlockPopoverCover. (59228)
SnackbarList, Snackbar: Add unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (59157)
Global styles: Rename typography elements file. (59355)
Synced Patterns
Remove unneeded pattern overrides translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (59269)
Navigation Menus
Revert removal of Nav fallback auto embed. (59220)
Tools
Testing
Add a fixture for the wp/block pattern block current version with overrides. (59492)
E2E: Refactor setup method to support class inheritance in RequestUtils. (59362)
Migrate ‘autosave’ end-to-end tests to Playwright. (58171)
Playwright: Pass the payload to createPost in data instead of query params to avoid URI too long errors. (59463)
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between January 8 and January 15, 2024.
37 commits
64 contributors
51 tickets created
6 tickets reopened
58 tickets closed
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Code changes
Administration
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Improve color contrast of the Copy buttons success message – #60140
Introduce new_admin_email_subjectfilterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. – #59250
Remove invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. attribute maxlength on number input – #40610
Bundled Themes
Add missing text domain to various 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. patterns. – #60245
Twenty Seventeen: Fix wrong text-domain introduced in [57281] – #60245
Twenty Seventeen: Revert usage of str_contains() in theme files – #60241
Twenty Twenty-One: Revert usage of str_contains() in theme files – #60241
Twenty Twenty: Revert usage of str_contains() in theme files – #60241
Comments
Use post_password_required() for comment capability checks – #59929
Customize
Correct a typo in a console warning message – #60222
Docs
Add a mention of appearance-tools as a possible value for add_theme_support() – #60118
Correct some typos in docblocks and inline comments – #60069, #59651
Fix wrong inline comment in delete_theme() – #60246, #59651
Improve wp_admin_notice() function docblockdocblock(phpdoc, xref, inline docs) – #59887
Editor
Allow default duotone styles if not explicitly disabled in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. – #60136
Clarify single post and page template descriptions – #60216
add CSSCSSCascading Style Sheets. var parsing for fontSize and fontFamily – #59982
add size and repeat to background image support – #60175
output palette presets when appearance tools or border are enabled – #60134
update npm packages in trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. for 6.4.3 – #59943, #59943
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
I18Ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.
Cache list of language file paths in WP_Textdomain_Registry – #58919
JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).
The latest release includes several new enhancements, loads of 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. fixes, and continued work on Phase 3 features.
Improvements to accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and writing flow
There are a few improvements that contribute to a better editing experience:
The Image and Media&Text blocks properly show the pressed state for the link button in 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. toolbar (56123).
The buttons block now mimicks the list behavior: enter twice on the last button goes to the next line (56134).
New keyboard shortcut in the list view (CMD+A on Mac, CTRL+A on Windows) to select all blocks (54899).
Design tools: block spacing for Quote block
The Quote block has gained support for layout and so it’s now possible to control the spacing of its inner blocks (56064).
Other notable highlights
Escape on Block Toolbar returns focus to Editor Canvas (55712).
Continue polishing the global styles revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: return the user to the editor and global styles panel after a revision is applied (55881), improve copy text (55868), load unsaved revision in the preview (55880).
Patterns: in the front-end, they show embeds (55979), and the site editor’s pattern page now shows theme patterns specified in theme.json (55877).
Changelog
See full changelog.
Enhancements
Block Library
Navigation block: Fix Inaccurate description of the Show icon button setting. (55429)
Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Add accessibility markup at the end of the loop in all cases. (55890)
Template Part: Add fallback to the current theme when not provided. (55965)
Update components to use __next40pxDefaultSize. (56022)
Tabs: Update subcomponents to accept full HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element props. (55860)
TextControl: Add opt-in prop for 40px default size. (55471)
ToggleGroupControl: Add opt-in prop for 40px default size. (55789)
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
Server directive processing: Process only root blocks. (55739)
Block settings menu
Remove the extraneous template part title in replace control. (55603)
List View
Add keyboard shortcut to select all blocks. (54899)
Background Image Support: Hide the background image reset button when there’s no image. (55973)
Background image support: Fix focus loss when resetting background image. (55984)
Custom Link: Decode value in URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input field. (55549)
Form block: Use type="submit" for buttons. (55690)
Image block: Add check for lightbox values during image block migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. (56057)
Image block: Don’t show pointer cursor on linked image in the editor. (55882)
Lightbox: Fix button misalignment in gallery image. (56060)
Missing block: Use raw source for originalContent. (56014)
Navigation Link block: Register variations on post type / taxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. registration. (54801)
Pattern: Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. error in post type templates. (55858)
Post feature image block: Wrap images with hrefs in an A tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.). (55498)
Quote Block: Fix the Quote block layout supports. (55240)
Read More block: Reduce text decoration specificity. (56038)
Data Views
DataViews: Add missing key to ResetFilters component. (56189)
DataViews: Fix issue with irrelevant statuses. (55967)
DataViews: Fix nested button tags on sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (56089)
DataViews: Fix pagination on manual input. (55940)
DataViews: Fix spacing issue in top-level bar. (56151)
DataViews: Fix status filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. upon switching the default views from the sidebar. (55856)
DataViews: Make items per page an even number. (55906)
DataViews: Reset pagination upon filter change. (55797)
Dataviews: Add a missing icon for the side by side view. (55925)
Components
DropdownMenu: Remove extra vertical space around the toggle button. (56136)
DropdownMenuV2: Prevent default on Escape key presses. (55962)
DropdownMenuV2: Use the Icon component to render radio checks. (55964)
Typography
Fix fatal error in WP_Fonts_Resolver::Get_settings(). (55981)
Font Library: Create fonts dir if a font face needs to use the filesystem. (56120)
Font Library: Fix font installation failure. (55893)
Block Editor
IframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.: Bubble events from html element instead of body element to fix drag chip positioning. (56099)
Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Handling correctly when uploading a file without mime type. (56133)
Move clientId key to BlockContextualToolbar. (56008)
Patterns
Add context for translators to any unclear usage of “synced”. (55935)
Use existing download function for JSONJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. downloads to fix non-ASCII encoding. (55912)
Inspector Controls
Global Styles: Don’t show “Apply Styles Globally” button in non-block based themes. (56033)
Template Editor
Templates: Update filter to call all of the individual methods. (55980)
Global Styles
Global styles revisions: Load unsaved revision item into the revisions preview. (55880)
Post Editor
Edit Post: Fix pattern modal reopening when making the title empty again. (55873)
Data Layer
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. data: Fix wrong store results when page receives less items that what is stored. (55832)
Fix mismatching link control action buttons visual order and DOM order. (56042)
Escape on Block Toolbar returns focus to Editor Canvas. (55712)
Site Editor
Prevent sidebar focus in site editor on small screens. (55934)
Block Library
Heading level dropdown: Remove obtrusive tooltips in favor of visible text. (56035)
Performance
Tooling
Add a metric to trace template navigation in the site editor. (55796)
List View
ListViewBlock: Combine ‘useSelect’ 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.. (55889)
DataViews: Add: Ability to delete custom views. (55924)
DataViews: Add: Custom views headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. indication. (55926)
DataViews: Remove unnecessary label when no visible filters exist. (55838)
Documentation
Add a first block type page to the platform documentation. (56109)
Add new block development “Quick Start Guide” and update the create-block-tutorial-template. (56056)
Clean up DataViews docs: filter.id is not used. (55833)
DataViews: Document enableSorting and enableHiding. (55988)
Fix: 404 link in get-started-with-create-block docs. (55932)
Fix: Create metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. block link in block attributes documentation. (55804)
Fix: Filter duotone link on block-supports documentation. (55896)
Fix: Two invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. links on docs/contributors/documentation/README.md. (55843)
Update documentation to clarify workflow branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". for release package publishing. (56183)
Rich text: highlight format: Gracefully handle old span format. (56071)
Update Link Control labels to use gray-900. (55867)
Components
DisclosureContent: Migrate from reakit to @ariakit/react. (55639)
Divider: Migrate from reakit to @ariakit/react. (55622)
RadioGroup: Migrate from reakit to ariakit. (55580)
Site Editor
Core Data: Move the template lookup to core-data selectors/resolvers. (55883)
Don’t use ‘useEntityRecord’ to only dispatch actions. (56076)
Block Library
Navigation: Refactor the PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher render function to make it easier to make changes in the future. (55605)
Data: Fix ESLint warnings for the ‘useSelect’ hook. (55916)
Post Editor
Edit Post: Use a single ‘useSelect’ hook for getting selectors. (55902)
Colors
Add Unit testing for duotone enhanced pagination. (55542)
Patterns
Split up the block editor inserter patterns tab into separate component files. (55315)
Design Tools
Block styles: Remove __unstableElementContext in favour of useStyleOverride. (54493)
Tools
Issue Templates: Add default type labels to issue templates. (55826)
Label enforcer: Make the warning message less scary for new contributors. (55900)
Quote feature requestfeature requestA feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. label. (55862)
Testing
Disable ‘no-conditional-in-test’ ESLint rule for Playwright. (56088)
Fix ‘Block Switcher’ test file name for Playwright end-to-end tests. (55840)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).
This latest release includes many enhancements, 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. fixes, some new experiments, and essential groundwork for the future Phase 3.
Cover 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.: automatically set overlay color when applying the initial background image
The Cover Block just got a bit smarter by setting an Overlay color based on the background image. The Overlay color is extracted from the image via magic (actually, code, which you can see coming into existence here (#54054).
Show template toggle when editing pages
This great new option allows you to see your Pages within the Template context where they’re meant to be displayed while you edit them. As @noisysocks puts it:
Allows users to focus on their content when desired. Moreover, it is small a step towards one day unifying the post editor and site editor.
All about decluttering: font uploads have been moved to a separate tab within the Font Library interface. The team has also worked on improving error messages and their visibility.
Other notable highlights
Footnotes now make use of coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. revisioning capabilities when available. Gutenberg PR (#52988) and Trac Ticket (#20564).
Experiment: the first version of the pages list in the site editor (#54966). This experiment is one of many pieces of the Data Views work (#55083), crucial for Phase 3.
Add template replace flow to template inspector (#54609).
Remove base URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org from link control search results. (54553)
Update strings in blocks ‘RenameModal’ component. (54887)
Post Editor
Edit Post: Use 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. instead of HoCs in ‘PostStatus’ components. (54951)
Editor: Use hooks instead of HoCs in ‘PostSticky’ components. (54949)
Editor: Use hooks instead of HoCs in ‘PostSwitchToDraftButton’. (54695)
Show confirmation dialog when moving a post to the trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.. (50219)
Site Editor
Add template replace flow to template inspector. (54609)
[Site Editor]: Update copy of using the default template in a page. (54728)
Patterns
Remove categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. description in inserter panel. (54894)
Typography
Font Library: Refactor endpoint permissions. (54829)
Fallback to Twitter provider when embedding X URLs. (54876)
Fix Deleted Navigation MenuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. warning string. (55033)
Fix Search Block not updating in Nav block. (54823)
Fix left and right aligmnent in children of Post Template. (54997)
Fix output of Navigation block classnames in the editor. (54992)
Fix overwriting of published post meta when previewing footnote changes. (54339)
Image: Ensure Expand on Click toggle is shown if block-level lightbox setting exists. (54878)
Image: Fix layout shift when lightbox is opened and closed. (53026)
Media & Text: Fix ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning. (55038)
Search block: Allow space for input field only when form expanded. (54846)
Search block: Update alignment and icon button width. (54773)
Site Editor
Avoid same key warnings in template parts area listings. (54863)
Avoid stale navigation block values when parsing entity record. (54996)
Don’t display the navigation section in template parts details when a menu is missing. (54993)
Reset ‘Show template’ toggle when leaving edit mode. (54679)
remove overflow: Hidden from the entity title in the site editor sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (54769)
Components
FormTokenField: Add box-sizing reset style and reset default padding. (54734)
Popover: Fix the styles for components that use emotion within popovers. (54912)
Remove hover style for secondary Button when aria-disabled is set. (54978)
Reverting addition of aria-selected style hook in Button. (54931)
SlotFill: Pass Component instance to unregisterSlot. (54765)
Block Editor
Avoid double-wrapping selectors when transforming the styles. (54981)
[Inserter]: Fix reset of registered media categories. (55012)
Typography
Font Library: Changed the OTF mime type expected value to be what PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher returns. (54886)
Font Library: Move font uploads to a new tab. (54655)
Image: Ensure false values are preserved in memory when defined in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (54639)
List View
Fix performance issue when selecting all blocks. (54900)
Colors
Format Library: Try to fix highlight popover jumping. (54736)
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
Image: Fix duotone not being applied to lightbox image. (54670)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Block Library
Footnotes: Add aria-label to return links. (54843)
Components
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block: Fix accessibility issues on back-end. (54408)
Modal: Accessibly hide/show outer modal when nested. (54743)
Patterns
Use list role instead of listbox in patterns list. (54884)
Post Editor
Editor: Always render the ‘Switch to Draft’ button to avoid focus loss. (54722)
Block Editor
Block Switcher: Use a different label for multi-selection. (54692)
Performance
Tests: Support the Site Editor’s legacy spinner. (54784)
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between September 4 and October 9, 2023.
Please note that exceptionally and because of personal vacations, this Week in Core issue covers 4 weeks 😊
269 commits
337 contributors
295 tickets created
43 tickets reopened
277 tickets closed
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Hey, everyone! It’s that time of the year. A brand new default theme will be featured with the next WordPress 6.4 release: Twenty Twenty-Four.
The Concept
The idea behind Twenty Twenty-Four is to make a default theme that can be used on any type of site, with any topic. Because of that, and contrary to past years, it has no single topic. Instead, three use cases were explored: one more tailored for entrepreneurs and small businesses, one tailored for photographers and artists and one specifically tailored for writers and bloggers. In essence, it’s a collection of templates and patterns which, all combined, make up a theme. These patterns include different Home templates for different use cases such as an About page, project overviews, RSVPs, and landing pages.
Twenty Twenty-Four’s styles and elements are instantly recognizable, inspired by modern design trends. The theme uses Cardo font for headlines, which provides a hint of elegance and a sans-serif system font for paragraphs. The default color palette of Twenty Twenty Four is light, and it also includes a dark style variation that maintains the same typography. Additionally, there are two more sans-serif variations available: one in light mode and another in dark mode.
Twenty Twenty-Four will be a 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. theme fully compatible with all the site editor tooling and it will surface new design tools like the details block or vertical text. Another key intent for the theme is to properly present whole page patterns and template variations so that users don’t need to assemble whole pages themselves, thus easing up their site building process.
Thanks to Twenty Twenty-Four’s remarkable flexibility and adaptability, a multitude of possibilities open up with just a few adjustments to color and typography. This beautiful theme was designed by Beatriz Fialho.
Development
As part of the 6.4 release, Maggie Cabrera and Jessica Lyschik are leading development. We are looking forward to your involvement and support throughout the process. If you’re interested in contributing, make sure you’re following this blogblog(versus network, site).
There’s a guiding Figma file that will continue to be updated as work progresses.
Theme development will happen on GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ and, as usual, once the theme is stable, it will be merged into CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. and its GitHub repository will be deprecated. A repository has been created here that you can follow if you’d like:
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).
This version is packed with enhancements and 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. fixes, many focused on enriching the Command Palette and enabling further customization of blocks. It features contributions from 63 contributors across 219 pull requests, including five new contributors! 🥳
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg.
16.4 introduces some exciting new features, including both a new experimental feature and a new component, alongside many enhancements and 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. fixes. Bug fix highlights include many improvements to the recently added Footnotes 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. and enhancements to Patterns.
This release consists of 184 pull requests authored by 60 contributors, including two new contributors! 🥳
Auto-Inserting Blocks (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.)
Activating the new “Auto-inserting blocks” feature on the Gutenberg > Experiments page enables blocks to specify a location in which they will be automatically inserted. This applies both to the frontend and to the Site Editor (via the REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.), allowing for further user customization.
See an example in the video below of a “Like button” block that has been auto-inserted after each Comment Template block. You can also see how this block can be re-positioned using the existing block editor tools.
To try this new experimental feature, you can add an __experimentalAutoInsert field to the block.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file of a dynamic block of your liking. You have to specify the “anchor” block and the relative position (before, after, firstChild, or lastChild) for auto-insertion:
Note that the block will only be auto-inserted as long as the containing template or template part doesn’t have any modifications by the user. (This is by design, in order not to override a user’s choice to discard an auto-inserted block in the editor.)
This feature aims to improve the extensibility of block themes through plugins and continues to be actively developed.
For more details please see the tracking issue and the testing instructions in this PR. It would be great to hear your feedback! (#51449)
New Progress Bar Component
A new, horizontal ProgressBar component that can be used in various places. Whilst this new component has been merged with this release, it has not yet been applied in the Site Editor. It will likely replace the Spinner component that is currently used in the Site Editor loading experience. There is another PR for this work in #53032, aiming to introduce an indeterminate progress bar for the Site Editor, and further experimentation in #53399 to change it to a determinate progress bar. In the meantime, this component can be tested in Storybook. (#53030)
New Commands in the Command Palette
There are three new commands available in the command palette:
Show/hide block breadcrumbs
Enable/disable pre-publish checklist
Preview in a new tab
As well as expanding the functionality available in the new command palette, this effort starts to establish user experience patterns around commands, such as “show/hide” vs. “toggle”, and using snackbar notices more prominently. (#53073)
New Block Supports for Footnotes Block
The Footnotes block now includes support for updating the block’s link color, background color, and text color, as well as controls for typography, dimensions, and borders. The link and text color controls are expanded by default, as they will likely be used more frequently; the other new controls are collapsed by default. (#52897 & #53044)
Minimum Supported PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Version Bumped to 7.0
The Gutenberg 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-party’s minimum PHP version has been bumped from 5.6 to 7.0, to maintain parity with WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (#52982)
Link Control: Persist advanced settings toggle state to preferences if available. (52799)
Block Library
Behaviors: Extend Global Styles APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to read/write behaviors config. (52370)
Enhancements
Site Editor
Add context to the “Reset template” “Delete template” and “Edit template” commands. (52989)
Add xhuge breakpoint (1920px) and update pattern grid. (52942)
Display keyboard shortcut for command palette in site view. (52841)
Make sure only one Site updated notice displays at a time. (53087)
Template Descriptions: Tidy up all abbreviations of ‘example’ to be e.g. (52848)
Try adding further details to template part panel. (52476)
Update the ConfirmDialog that appears when applying a style revision over unsaved changes. (52972)
Update: Improve titles of author templates in query title block. (52732)
Post Editor
Add common commands (breadcrumbs, live preview, pre-publish checklist). (53073)
Use 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. instead of HoCs for:
Site editor: Conditionally render global styles revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. footer in sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (53204)
Block Editor
Remove duplicated display URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in LinkControl. (53167)
Synced Patterns
Remove extraneous “Detach” ToolbarButton for synced patterns. (53121)
Icons
Add keyboard icon and use in relative commands. (53083)
Plugin
Bump plugin minimum supported PHP version to 7.0. (52982)
Data Layer
Promisify action creator return type for WP data dispatch. (52530)
Bug Fixes
Block Library
AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.: Fix global border styles generation. (53007)
Check if object exists before accessing its properties. (52870)
Image block: Fix image size at wide and full width. (53184)
Navigation Sidebar: Fetch the blocks from the content when trying to load navigations. (52899)
Navigation: Load the raw property on the navigation fallback. (52758)
Remove block tools back compatback compatBackward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers. component schedule for deprecated in 6.3. (53115)
Add id to pattern inserted notice to stop multiple notices stacking. (52746)
Allow orphaned template parts to appear in “general” categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (52961)
Correctly color code unsynced patterns titles in Site Editor. (52958)
Fix auto-size patterns triggering scrollbar flickering on certain size. (52921)
Fix color and behavior of unsynced patterns in block inserter when searching for reusable. (53205)
Fix editor crashing on certain search filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. combinations. (52956)
Fix empty general template parts in Patterns. (52747)
Patterns Browse Screen: Fix back button when switching between categories. (52964)
Reset current page when search filters change. (52933)
Site Editor: Fix site link accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues. (52744)
Site Editor: Use the correct icon for Patterns in sidebar card. (52931)
Post Editor
Allow styles to be changed dynamically through editor settings. (52767)
Distraction Free: Fix conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with showListViewByDefault preference. (52914)
Editor: Set default parameter for ‘__unstableSaveForPreview’. (53079)
Fix toolbar when previewing devices in post editor. (52770)
I18Ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add missing Gettext wrapper on strings in Edit Post overview sidebar. (52971)
shimAttributeSource: Don’t run outside the registerBlockType filter. (53015)
Global Styles
Global styles revisions: Display text if no revisions are found. (52865)
Spacing presets: Fix bug with select control adding undefined preset values. (53005)
Style Engine: Switch off optimize by default. (53085)
Distraction Free Keyboard Shortcut: Fix notices in Site Editor. (52867)
Layout
Prevent the Dimensions UIUIUser interface from being displayed when the block does not support Dimensions. (53092)
List View
Ensure onBlockDrop does not fire if there is no target. (52959)
Template Editor
Site Editor: Don’t navigate to the patterns in Template Parts mode. (52884)
Navigation Menus
Navigation: BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. Core changes for the navigation fallback. (52878)
REST API
Global styles revisions: Update private methods to protected. (52748)
Block API
Parser / Site Editor: Ensure autop is not run when freeform block is set to core/htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (52716)
Accessibility
Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with Edit site Navigate regions. (52940)
Update to work with consolidated a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) labels. (52896)
Use the correct label to filter Mobile app PRs. (53024)
Patterns: Reinstate template parts mode spec. (52780)
Route to published post instead of homepage on navigation end-to-end tests. (52802)
Temporarily skip widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. import end-to-end test. (53226)
Update end-to-end tests that use code editor. (52788)
Props to @joen and @richtabor for the visual assets; @bernhard-reiter, @tyxla, @priethor, @mburridge, and @matveb for peer review; @bernhard-reiter, @youknowriad, and @dmsnell for helping get the release published to WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/; and @karmatosed and @siobhyb for riding along during the release process.
Welcome back to a new issue of Week in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between July 17 and July 24, 2023.
44 commits
83 contributors
83 tickets created
13 tickets reopened
56 tickets closed
TicketticketCreated for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.
Code changes
Administration
Add a missing closing spantagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for column sorting indicators – #32170, #57839
Remove outmoded jsvalidate task from Gruntfile – #58645, #26615
Bundled Themes
Twenty Twenty-One: Enable Dark Mode in 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 iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. – #58835
Twenty Twenty-Three: Remove the perPage attribute where the query inherits from the global query. The global attribute should be used instead – #58581
Add test for context setting in Comment Template block – #58839
Fix a PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notice appearing when adding a new template part – #57851
Fix abbreviations of “Example” in block-template-utils.php – #58879
Fix 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. where it was not possible to style custom block elements in theme.json – #57868
update npm packages with bug fixes for 6.3 RC2 – #58804
External Libraries
Update deprecated jQuery code in Farbtastic lib – #57946
General
Commit changes after running precommit:css – #57856, #58869
Rename wp_in_development_mode() to wp_is_development_mode() – #57487
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
I18Ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.
Add missing translator comment in WP_Upgrader::generic_strings() – #58831
Media
Adjust PDF upload handling to remove non-opaque alpha channels from previews – #39216
Fix Image rotation button overflow in translations – #58877
Stop using and deprecate set_imagick_time_limit(). Seems it causes more problems than it solves – #58202
REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
Update Global styles revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. private methods to protected – #58846
Script Loader
Improve test coverage for wp_print_scripts() – #58648
Upgrade/Install
Add correct parameters to add_option in upgrade_630 – #58821
Props
Thanks to the 83 (!) people who contributed to WordPress Core on Trac last week:
You must be logged in to post a comment.