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.
Thanks to everyone who visited the Performance table onย Contributor DayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ย atย WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโve learned throughout the year and share the joy. Learn more.ย US last week โ hereโs a round-up of some activity:
@westonruter I was working on removingย unloadย event handlers from wp-adminadmin(and super admin) (#55491) which relate to performance since they prevent bfcache. Got a mostly-complete 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. ready for review. But ironically I found in 6.3 that bfcache was explicitly disabled viaย Cache-Control: no-storeย (#21938), so removingย unloadย doesnโt have any effect. Maybe we want to revisit that.
@flixos90 I committedย https://core.trac.wordpress.org/changeset/56445ย at Contributor Day, thatโs a big deal in terms of new 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. functions, withย prime_options()ย andย get_options()ย (the latter is probably what most WP devs will immediately understand what it does)
@joemcgill#58998 should help avoid DB stampedes when rewrites are flushed. Iโm hopingย @icaleb will be able to test this patch at VIP and let us know if there are any side effects that we need to be aware of.
@joemcgill We also had #52759 committed that adds a 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. to avoid a potentially expensive DB query, but itโs currently reopened to consider a name change for the filter. Feel free to weigh in if you have opinions.
This weekโs Performance Bug Scrub lead, request for volunteer please
@joemcgill happy to run this weeks 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 (thank you!)
@joemcgill I spent some time prior to WCUS looking at #57789 and plan to pick that back up later this week as a part of a general focus on improving template loading
@swissspidy I had some great discussions at WCUS regarding 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. performance, people are really interested in testing this new feature pluginFeature PluginA plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. The great news is that the 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. just got approved, so Iโll push it toย WordPress.orgย later today or so. Then we can spread the word and start looking into adding it to Performance Lab (once we have the standalone modules) etc.
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 & CSSCSSCascading Style Sheets.
@westonruter I backported the use ofย deferย 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. view scripts from 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/ to WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. (#59115). I did some moreย perf analysisย and found a 6.5% reduction in TTFB-LCP
@flixos90 What scenario was that tested with? TT3 or another theme / configuration? (Details are in the TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. comment)
@westonruter I alsoย analyzedย moving Twenty Seventeenโs scripts from the footer to theย headย and addingย defer, but I didnโt find there to be any improvement
@westonruter On the non-JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. front, I did someย more analysisย on the impacts of inlining stylesheets instead of loading them externally, especially when a CDN is involved. I found inlining to be more important when a CDN is involved, but when a CDNย isnโtย involved, then better not to inline. The findings donโt seem to be entirely conclusive, however
@flixos90 I think this is an important learning worth sharing with the broader community. It has come up numerous times in the past that folks suggest to inline certain assets based on an assumption that that would be faster. But seems thatโs more complicated than that
@joemcgill I noticed that #58634 has a PR that could use a review. Otherwise, that one doesnโt yet have an owner
@pereirinha I do have clarification forย #58893, and asked for another round of feedback onย #58892. If I didnโt get it back to the right track, I might need a call to clear it up
@flixos90 Update from me that isย kind ofย related to images but actually has nothing directly to do with images is that I opened a can of worms at contributor day finding several bugs with how the WordPress main 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 (โthe loopโ) is being handled incorrectly by block themes in general, which has been causing problems such asย https://core.trac.wordpress.org/ticket/58027
@joemcgill Iโm particularly interested in how we can get thisย into the CI workflow sooner rather than later, since folks on the Gutenberg side are finding it extra helpful. I think it will reduce the amount of manual work we end up doing benchmarks on individual PRs as well
@swissspidy Yeah I might remove the PR comment part if thatโs a blockerblockerA bug which is so severe that it blocks a release.. Jonathan offered to review it once heโs back from WCUS
@flixos90 Agreed, though I am slightly concerned by posting the results in a comment on each PR at this point. Given that the metrics are still rather unstable, I am wary of people over-interpreting them, e.g. arguing that a change is particularly great or problematic just based on numbers which could come from variance. So not a technical problem with the PR at all, but Iโd feel more confident about implementing everything but the PR message, so that the data is there, just not as โalarmistโ
@joemcgill I agree. I would like for there to be a way to contextualize the change related to expected variance so folks donโt get super excited about a small change that could just be noise
@flixos90 We could pull the PR message logic out, and then create a separate ticket with PR for โFuture Releaseโ
@swissspidy Yeah, thereโs still some variability with those results, but thatโs just 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/. Adding an explanation to the comment makes sense. I like the PR because it is easier to discover than the summary, but it does require setting up a secret token for it to work, which is also not ideal when working with forks. (NB I did experiment with running Playwright browsers within Docker, so in the future that might help reduce variance.)
@flixos90 I had something to share kind of related to ecosystem tools: At Contributor Day,ย @chriscct7 sharedย https://plugintests.com/ย with a few of us, which he had discovered at some point, and itโs just a mind blowing tool nobody seems to know about, covering the whole plugin repository in a lot of detail. Not sure what we can do with that at this point, but itโs just something quite interesting to look at and be aware of. It has e.g. PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compatibility information for every plugin, detailed data on e.g. which options or admin screens a plugin adds, whether there are PHP or JS errors etc.
@icaleb There were talks, once upon a time, of integrating that same tech into the .org repo. I think various acquisitions got in the way โ but definitely would be interesting to see what might still be possible!
@joemcgill Two issues that seem like they need early eyes on. I see Andrew and Jonny are already reviewing, but would be good for others to have visibility
@johnbillion Quick item from me, Iโm planning on opening a ticket for implementing a function to bulk add metadata (starting with users), mostly a narrower scope version of #34848. Iโve recently been looking at various performance issues when inserting data into WP, hoping to tackle a few โ PR review would be good, Iโll add the performance focus when I open the ticket later today
This post aims to prepare a calendar with the expected start time for each release party and who is involved in the upcoming 6.4 milestones.
As we saw happening with 6.3 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, things can change at the last minute, so expect some flexibility. The release team will do their best to respect the calendar and communicate any change promptly.
If you can fill any of those roles, please add your name in the comments, with the date and role, so that I can finalize the calendar. Having two people with the same access level for each party is also okay. This will allow us to help each other if the party takes longer than expected.
I always proposed 16:00 UTC for release parties because itโs a time that allows us to cover quite a few time zones. However, it does not favour contributors in APAC. I will contact those in that area to see if we have people with enough access to run at least one release party in their time zone.
Please check the Hosting Release Page in the Handbook to read about the different roles.
Thank you all for the team effort!
Date/Time
Milestone
Host
CommittercommitterA developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component.
Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 1
Here is the agenda for this weekโs performance team meeting scheduled for Aug 29, 2023 at 15:00 UTC. If you have any topics youโd like to add to this agenda, please add them in the comments below.
Thanks to everyone who visited the Performance table on Contributor DayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ at WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโve learned throughout the year and share the joy. Learn more. US last week
This weekโs Performance Bug Scrub lead, request for volunteer please
We had a solid day of progress today at the WCUS Contributor DayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. I sat down at an empty table and before long it was full of people who were eager to help bring the vision of the Fields 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 fruition.
If you arenโt familiar yet with what weโve been planning, check out the post below about the kick-off we had at the start of this year. Otherwise, continue on below to see what weโve accomplished and whatโs left in the Research phase.
Add new user form (/networknetwork(versus site, blog)/ variation)
Add existing user to site form (MultisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site)
Media โ Media modal
Comments โ Add new comment (front of site) โ @cr0ybot
โ 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
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. API
We also had help from @lauriewood who spent time writing a proposal draft for us that we can use to build from with more technical details.
Comparison sheet
I put together a comparison sheet that goes over coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. APIs vs a few popular plugins. It may help you visualize what we are doing here.
Whatโs next?
Our next meeting
Weโre going to set up another meeting in #core-fields on SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ in September to get everyone together again. Iโll post here again as soon as we have a time set so others who are interested can join.
Research will continue
We have a few more docs to continue working on. We will coordinate who does what in the #core-fields Slack channel. If youโre interested in helping, feel free to mention me (@sc0ttkclark) there!
Proposing the Fields API
We will then be able to officially propose the Fields API based on our research and gather feedback on what weโve put together. The proposed code will likely remain similar to what was proposed in 2017 but with more modern PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 7+ code and potentially support 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. schema files if thereโs appetite in core to expand beyond the Blocks JSON schema implementation and into other config areas.
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 by 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:
+make.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//themes/