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.
TriagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. of the tickets in the spreadsheet (they all refer to Outcome 1 of the Updater initiative)
Open floor/tickets awaiting review
Got something to propose for the agenda? Please leave a comment below.
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 May 10 and May 17, 2021.
28 commits
90 contributors
47 tickets created
8 tickets reopened
40 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
Boostrap/Load
Have language in wp-config-sample.php better match install instructions – #37199
Boostrap/Load: Strengthen language in wp-config-sample.php – #37199
Bootstrap/Load: Improve docs for error reporting – #41902
Update twenty_twenty_one_password_form function to actually use a $post parameter – #53091
Coding Standards
Adds spacing so define() statements displayed when creating a networknetwork(versus site, blog) – #53182
Docs
Update documentation in wp-config-sample.php per the documentation standards – #52628
Update help key documentation link in 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/ response – #53162
Update documentation in phpunit/includes/abstract-testcase.php per the documentation standards – #52628
Clarify the @since note for unlink-homepage-logo in get_custom_logo() – #51075, #52628
Editor
Remove editor type specific filters for 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 configuration – #52920
Rename should_load_separate_core_block_assets for consistency – #50328
Some documentation and test improvements for loading separate assets for core blocks – #50328, #52620, #53180
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. introduced with loading separate block assets – #53180
Enqueue script and style assets only for blocks present on the page – #50328, #52620
External Libraries
Update the Requests library to version 1.8.0 – #53101
KSES
Allow calc() and var() values to be used in inline CSSCSSCascading Style Sheets. – #46197, #46498
Add support for Update URIheaderHeaderThe 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. – #14179, #23318, #32101
Post Thumbnails
Display the “Remove 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.” link in the classic editor in red color – #45198
Posts, Post Types
Enable 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. for the wp_block post type – #53072
Improve the appearance of Site Health Status dashboard 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. – #52966
The CSSCSSCascading Style Sheets. Audit Tool generates an HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. representation of audit data. View it live.
What it is
An automated tool for generating reports on the WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. CSS files. The reports are made up of one or more audits, each of which provides statistical information on a particular aspect of the CSS, for example “Top 10 selectors by length” and “Number of unique colors”.
The CSS Audit tool is here 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 by the repository owner. https://github.com/: https://github.com/wordpress/css-audit. It can be installed locally to generate reports on any collection of CSS files.
The online repo tracks commits to wp-adminadmin(and super admin) CSS each day, regenerating the report if anything has changed. The most recent report can be seen at https://wordpress.github.io/css-audit/public/wp-admin
Why we made it
There are many possibilities for reducing complexity in the wp-admin CSS codebase. The CSS Audit tool provides a big-picture view of those areas in need.
Each audit generally addresses a particular aspect where improvements could be made, for example “Number of times `!important` is used” and “Top 10 selectors with the highest specificity” allowing the health of the CSS code-base to be tracked over time.
Audits can also expose CSS values which deviate from standards established by design, a feature used recently to limit core CSS color values to the official WordPress core color palette. The result was a >50% reduction in the number of individually defined colors!
This improvement was directly informed by the results of the CSS Audit. The same approach can be used to reduce complexity in other CSS rules, for example font-size which currently has 404 unique values specified.
Getting complexity under control and minimizing redundancy will pave the way for streamlining and modernizing the CSS architecture, for example: using custom properties for theming.
How it works
The CSS Audit tool is a command line Node.js tool. Internally it uses PostCSS to analyze a set of CSS files and output the results in a user-configured format.
Reports can be generated as human-friendly HTML, machine-friendly 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., or tables printed to the command line output.
Thanks to @ryelle, @danfarrow, @notlaura, and @isabel_brison for their work on devising and implementing the CSS Audit Tool, and for reviewing and contributing to this post!
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/ 10.7 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). final release for WordPress 5.8.
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. based 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. Editor.
Navigation block.
Full Site Editing.
Mobile
Task Coordination.
Open Floor.
If you are not able to attend the meeting, you are encouraged to share anything relevant for the discussion:
If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.
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/ Version 10.6
@getdave Mostly focused on work to improve consistency and reliability between Nav editor and 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.. Also lots of effort going into improving UXUXUser experience by surfacing unsaved changes to users. Would particularly like to draw attention to a proposal to add a @wordpress/menus package in order to share data logic between Nav Editor and Block. Any input here much appreciated.
@annezazu As a reminder, the sixth call for testing will ship today focused on template editing mode (making some final changes). This is a very high impact test to participate in as we get closer to 5.8. Jump into #fse-outreach-experiment if you’re keen to join in on the fun
Mobile Projects
@chipsynder We shipped: Custom 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. support in block picker, as well as better animation PR 30291
Shipping in the next day or so is the work for the Mobile Slash inserter PR 29772
We had Some translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. pipeline fixes PR 3423
Our in progress projects are:
RN upgrade to 0.64.x
Editor On Boarding
Global Style Support – Colors
Reusable blocks
Adding search to the block inserter
Embed block
iOSiOSThe operating system used on iPhones and iPads. share extension
We’re also working on:
Gallery Block Refactor PR 26823 – Our main hurtle here is investigating a way to prevent data loss for users who have an older Gutenberg version on device but a newer version on their site.
Finally fixed the issue, which should help us land unsaved changes notification for users.
I’m also trying to figure out which endpoint makes more sense to handle menu location assignments. You can see the discussion here, and any feedback is appreciated.
also helped with PR reviews and fixed few issues for Widgets Screen.
Could we get some quick eyes on PR 31755 and PR 31754 they should be included in a patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. for Gutenberg 10.6.
Primarily on the nav block and adjacent patterns. Excited to have helped Vicente with a hamburger menu feature that should land very soon. Will help with a few followups after that.
Two weeks have passed since the last 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/ release, which means the time has come for a new version! Gutenberg 10.6 introduces Duotone 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. supports, 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. Pattern suggestions in placeholders, colors, and borders for Table Blocks and a bunch of enhancements to Full Site Editing. Work on new features like Global Styles, 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. Editing and Navigation editing continues at a steady but firm pace.
Last but not least, support for Internet Explorer 11 has been dropped as of this release.
Support for Duotone filters block supports
Experimental support for applying a duotone filter to a block (or part of a block) has been added to the block supports. Check out the Image and Cover blocks for a demonstration.
It is now possible to display suggestions for Block Patterns in the placeholder area of a newly created block. This opens up a world of opportunities to inspire the user with block patterns showcasing creative ways of making the most out of the created block. An excellent example of how this feature can be leveraged has been added to the Template Part block.
The original placeholder view can still be accessed from the ‘Start blank’ option.
Table Block enhancements
In this release, a couple of enhancements have been added to the styling capabilitiescapabilityA capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). of the Table Block. It is now possible to have fine-grained control over both the colors being used and the table border. The latter has been made possible thanks to the new useBorderProps hook.
Full Site Editing continues to mature
Working towards inclusion of Full Site Editing features in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., a lot of work has been done behind the scenes to stabilize and mature experimental features.
The theme.json configuration file has now reached stability level and work on its structure change has been completed.
A couple of dozen blocks related to Site and Template editing have now also been promoted to stable blocks.
To make the editor more accurately resemble the front end, the template editor now opens inside of an iframe.
Dev 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.: Loading the template editor inside of an 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. is an important step towards implementing this for the post editor as well. As challenging as this sounds, the benefits of taking this approach are far-reaching. If you are a block author, it is important to learn about how this impacts your blocks, and how to prepare them for this change.
This release marks a milestone in modern web development. As of Gutenberg 10.6, we have officially dropped support for Internet Explorer 11, in accordance with the IE 11 Support Phase-Out Plan. This change effectively reduces the total build size by a whopping 6%.
10.6
Enhancements
Block Library:
Stabilize some theme blocks for WP 5.8 release. (31423)
Mark Log In/Out block as stable for 5.8 release. (31499)
Promote ui/Flex and deprecate isReversed prop. (31297)
Promote VisuallyHidden from ui into full components. (31244)
Core Data: Add experimental util to allow fetch remote URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org data from 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/. (31085)
Rename “Modes” to “Tools” in the 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.. (31430)
Update “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.” icon. (31463)
Patterns: Suggest block patterns in block placeholder states. (29602)
Check whether the data is loaded. If the data is loaded and the template is still unknown, give appropriate feedback. (30664)
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): Constrain tabbing inside them multi-entity save panel. (31136)
Verify if php template exists for a hybrid/universal theme with a block-based parent. (31123)
Template Editing Mode: Use a darker frame for template mode and previews. (31044)
New APIs
Core Data: Add batched variants for start and finish resolution actions. (31005)
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.: Allow “array of attributes to be compared” for isActive property in block variations. (30913)
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. with color picker input state for falsy values. (30799)
Fixed imports that resulted in build failing. (31106)
Stop auto-memo antipattern and remove senseless default values. (31246)
Compose: Fix parameter name typo in useRefEffect. (30597)
General Interface:
Remove tools dropdown menu from medium viewport when text labels mode is active. (31431)
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.:
Call deprecated 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. only when new filters not present. (31027)
Render out HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. characters in post and categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. titles. (30661)
Use gutenberg_get_block_categories for getting block categories. (31486)
CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.:
Make the entire 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. have a white background. (31492)
Ensure the control form’s IDs have a consistent number. (31485)
Refactor Form to not use ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org. (31444)
Widget Editor:
Ensure Hello Dolly plugin text doesn’t overlap the widgets screen UIUIUser interface. (30729)
Target global styles to the body element instead of :root. (31302)
Themes: only split block styles loading for block themes. (31309)
Update shape of 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.. (30541)
Correctly display menu used on location text. (31500)
Fix issue with missing styles for Page List in navigation. (31368)
Fix navigation screen collapsing 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.. (31228)
Organize and update block theme documentation. (31167)
Packages: Drop suppport for IE 11 and non-LTS Node.js versions. (31270)
Remove broken links to gutenberg-core team. (31161)
Update Versions in WordPress to include 5.7.1 & 5.8. (31439)
Update contributing documentation with callout notice usage. (31202)
Handbook:
Add a deprecation notice to 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 attribute sources. (31389)
General Interface: Fix typo – toogle / toggle. (31225)
Packages:
Fix linting warnings for core/block-editor store. (31146)
Update lodash to the latest patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. version. (31686)
end-to-end Site Editor: Evaluate getEditedPostContent on the page. (31121)
Fix entity saving intermittent test failure. (31157)
Fix tests failing on expected site tagline snapshot. (31473)
Fix not getting correct computedName with labels in chromium 91. (31175)
Fix snapshots broken 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.. (31247)
Adds reporter that shows JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. test errors 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 by the repository owner. https://github.com/. (31041)
wp-env: fix can’t checkout git repositories of a specific 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.). (31271)
Native:
Moves hermes and react-native mirror to S3. (31441)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.6
6.15
27.68
Gutenberg 10.5
6.12
38.52
WordPress 5.7
5.61
28.55
Kudos to all the contributors that helped with the release! 👏
While the group opened browser tabs and bookmarked those posts, the chat moved on to …
Upcoming releases
A schedule reminder for 5.8: Feature Freeze is coming in 13 days (ed. note: at this writing, twelve) on Tuesday, May 25th. Per the published schedule, that means no commits for new enhancements or feature requests for the last two weeks before 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. 1. Instead, the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. team will focus on bugs during that period.
To that end, @lukecarbis and @chaion07 have published the bug-scrub schedule. If you’d like to add a scrub, you can — whether you’re a developer or not, whether you’re already a contributor or not! And it gets you official props as a Core contributor to 5.8. (Ed. note: You are also free to tailor your scrub to the tickets, issues, and features that matter most to you. It is, quite literally, your scrub.)
There’s also a new(ish) kind of scrub called a testing scrub. If you’d like to get ready to help with those, here’s a handy how-to guide from @boniu91.
@helen reminded the group that 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.-based 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. editor needs a lot more testing.
Details on the Marketing plans for 5.8 are noted in the Full Site Editing Pre-Merge Overview post, if you’re interested in helping out there please consider attending Marketing meetings which are held every Wednesday at 14:00 UTC.
Components check-in and status updates.
For more details on any change, check the ticketticketCreated for both bug reports and feature development on the bug tracker. that makes the commit. You’ll get the all the conversation about the issue, what changed and why, and — of course — the patches and screenshots that took the change from concept to commit, all in one place.
Ticket #53101 updates the Requests library to version 1.8.0, making it a lot faster to use cURL.
Ticket #50105 pulls infinite scrolling out of the Media Library and replaces that feature with a Load More button that the user controls (accessibly!)
Also in Media, ticket #35725 brings WebP image-format support to Core.
No major news this week on Build/Test Tools, Date/Time, General, 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., or Permalinks.
In Widgets, ticket #21603 will finally let a user delete more than one item at a time from a menu! If you’d like to help bring this nine-year-old ticket in for 5.8, JB says you’re more than welcome.
@marybaum checked in on Help/About. There’s no major news right now, but that component gets very busy starting at feature freeze.
Open Floor
@markparnell has a patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. on #49278 that’s passing unit tests, looking for review in hopes of landing in 5.8; @peterwilsoncc likes the approach of improving DQ query performance and feels it needs to be an early ticket but unsure if we’re still early in the 5.8 cycle for it to be considered; @lukecarbis noted some dev-feedback from someone experienced with SQL would help
In a late-breaking comment on the devchat agenda, @paaljoachim asked the group for recommended resources on WordPress 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. design (not development or information design, but visual design). @jeffpaul suggested the Plugin Handbook; a little later, @megphillips91 recommended this guide to plugin UI in the block editor.
Check in on 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. scrub frequency
As recent bug scrubs have been low energy we decided to switch them to a monthly basis
CSSCSSCascading Style Sheets. bug scrubs will now run on the first Thursday of each month
The CSS Audit v1.0 project is effectively finished! We briefly discussed some ideas for future features including adding a parameter to specify different configs, and storing weekly 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. reports for historical analysis
@ryelle brought up a deprecation example from current CSS where a class name has changed and the old class name has been marked as /* deprecated */. She wondered how this would fit into deprecated.css without requiring duplication of lots of CSS
Open floor / CSS link share
@notlaura reported having added a note to #40686 summarising our discussion on a CSS class naming convention for JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. targeting
Remember 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. based Widgets Editor? In case you missed it, this new feature had both a previous call for testing and a merge proposal ahead of WordPress 5.6. After months of hard work, it’s back and better than ever! For a quick refresher, the block based Widgets Editor is an upgrade to the 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. areas provided by WordPress through themes, that enables users to add blocks right next to widgets to their headers, footers, sidebars and other widget areas.
Help test this feature
This is a call for testing for the new block based Widgets Editor. Please report your findings 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 by the repository owner. https://github.com/ in the Gutenberg repository as issues or in the comments below. If you have triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. access, labeling any issue with [Feature] Widgets Screen or [Feature] Widgets Customizer, depending on the issue, would be very helpful. Alternatively, you can simply include “[Widgets Screen]” in the title to help those who can set the labels appropriately. Check out the instructions below for more detailed information.
What’s new?
The most important addition since the last call for testing is that the CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. now supports editing blocks and widgets in widget areas with live preview. Compared to the first iteration of this project, where the widget areas in the Customizer were read only, now you can add widgets and blocks with live preview, scheduling and sharing right from the Customizer.
The main benefit of upgrading the widgets functionality to blocks comes from the ability to directly edit widgets using the familiar block interaction that you use when editing a page or post on your site. Being able to use blocks opens up tons of new creative possibilities, from no-code mini layouts to tapping into the vast library of coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. and 3rd party blocks to create content.
For developers, unlocking blocks in widget areas also offers a core path to upgrade widgets to blocks and get ready for the future. With more aspects of content creation and management moving to blocks, including the upcoming block based theme format, this also helps bring consistency to the user experience.
Is it ready?
This is currently 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. software and it has a host of known bugs. But it is also intended to be merged into core for the 1st beta of WordPress 5.8. As a merge candidate the goal of the testing is not to discover 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. free feature, but to observe if there are blockers for merging. During WordPress 5.8 beta releases, the bug list will be prioritized ahead of 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)..
What to test:
Please keep in mind that it’s recommended that you test this feature on a development siteDevelopment SiteYou can keep a copy of your live site in a separate environment. Maintaining a development site is a good practice that can let you make any changes and test them without affecting the live/production environment. rather than a production siteProduction SiteA production site is a live site online meant to be viewed by your visitors, as opposed to a site that is staged for development or testing.. For information about how to set up a development site, please refer to the Setting Up a Development Environment documentation.
– Update channel to “Bleeding edgebleeding edgeThe latest revision of the software, generally in development and often unstable. Also known as trunk.”
– Stream options to “Beta/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). only”
You can install the WordPress 5.8 Beta 1 in two ways:
Install and activate the WordPress Beta TesterpluginPluginA 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. (select the “Bleeding edge” channel and “Beta/RC Only” stream).
Install and activate a plugin that provides widgets
Go to Appearance > Widgets
Add some core widgets. For example, Search or Recent Posts.
Add some 3rd party widgets (aka widgets provided by a plugin)
Go to Plugins > Add new
Install and activate the latest version of the 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/ plugin
Go to Gutenberg > Experiments
Check “Enable Widgets screen in Customizer”
Go to Appearance > Widgets
Are all the widgets you added there?
Can you customize their settings?
Can you drag and drop widgets to different places?
Go to Appearance > Customize > Widgets
Are all the widgets you added there?
Can you customize their settings?
Adding blocks next to widgets
Be on the latest version of WordPress (5.7.1)
Go to Appearance > Themes
Install and activate a theme that has support for sidebars
Go to Appearance > Widgets
Add some core widgets. For example, Search or Recent Posts.
Go to Plugins > Add new
Install and activate the latest version of the Gutenberg plugin
Go to Gutenberg > Experiments
Check “Enable Widgets screen in Customizer”
Go to Appearance > Widgets
Click the inserter plus button in the top bar
Add some blocks
Do they work?
Save
Are they published on the front end next to the widgets?
Go to Appearance > Customize > Widgets
Click the inserter plus button in the top bar
Add some blocks
Do they work?
Edit some of the block contents
Does the preview update accordingly?
Edit some of the classic widget’s contents
Does the preview update accordingly?
Publish
Are they published on the front end next to the widgets?
Was it intuitive for you to add blocks and third party widgets (ie from other plugins)?
Were you able to properly customize widgets as you wanted?
Did it work using Keyboard only?
Did it work using a screen reader?
For developers:
Make sure to go through the general “How to” documentation available in the Gutenberg codebase for specific instructions.
Test upgrading classic widgets to blocks.
The new block based widget editor introduces a new 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. `widgets_to_exclude_from_legacy_widget_block`. It is used to hide widgets that have block equivalents.
We now have a documented way to upgrade widgets to blocks via block transforms.The transform may be added to the legacy widget via typical block extending. This in turn enables users to migrate widgets they already have configured to new block equivalents provided by plugins.
Test enabling and disabling theme support
Test widget areas provided by themes, particularly “dynamic” sidebars, which appear depending on other factors.
Test 3rd party widgets compatibility.
The most common case is for widgets that work in the Customizer but not in the stand alone widgets editor. Previously, developers opted to present the widget UXUXUser experience differently in the widgets screen compared to the Customizer. However, the best practices are preserved in the Customizer.
We’re having an audit of extension points and how well supported they are. Please add missing things that you may find.
Considerations around Opt-in vs Opt-out
Because there is not enough data and stories, a decision has not yet been made on whether the block based Widgets Editor will be opt-out by default or an option for each theme to opt into. Currently, we’re providing the following options for opting out:
The Classic Widgets plugin which allows users to easily opt out of the new blocks in widget areas feature and see the classic widget editor only.
The `widgets-block-editor` theme supports which allows theme authors to opt out of supporting blocks in widget areas. This also reverts WordPress adminadmin(and super admin) to the classic widget editor.
The `gutenberg_use_widgets_block_editor` filter which allows administrators to opt out of supporting blocks in widget areas in cases where this is required. Like the two above, this also reverts WordPress admin to the classic widget editor.
A recent discussion in the Core Editor chat is a good summary on why we’re opting out via a plugin for users. Briefly, it seems to be the cleanest and least prone to maintenance requirements mode possible, versus settings in other plugins or user settings.
This is a difficult decision to make since supporting blocks in widget areas is an important part of the roadmap of WordPress and it will eventually be the default experience. Today, it’s important to determine the impact and significance of the current work on backwards compatibility.
Thank you!
Thank you for helping with testing the new Widgets Editor! Since it is one of the major focuses of WordPress 5.8 any help in this early stage is immensely valuable as it will help determine how viable it is for merging.
Later updates
Monday, May 17th – updated the instruction steps for the user section and added a step to enable the Customizer widgets block editor. This is essential to test the most important addition, adding blocks to widget areas using the Customizer.
Monday, June 14th – updated the instruction steps with newer recommended versions for testing (WordPress 5.8 Beta 1 and Gutenberg Plugin 10.8). Thanks to all the testers and all the feedback below. It was instrumental in advancing the state of the editor, and it’s now better than ever.
You must be logged in to post a comment.