Twenty Twenty-Two
Welcome to the development repository for the default theme that will launch with WordPress 5.9.
About
Twenty Twenty-Two is designed to be the most flexible default theme ever created for WordPress. It's built for full site editing first as a block theme. The theme aims to ship with as little CSS as possible: our goal is for all theme styles to be configured through theme.json and editable through Global Styles. The theme development team will work closely with Gutenberg contributors to build design tools in the block editor that enable this goal.
Contributing
If you would like to contribute code, the list of open issues is a great place to start looking for tasks. Pull requests are preferred when linked to an existing issue.
Contributing is not just for developers! There are many opportunities to help with testing, triage, discussion, design, building patterns and templates, and more. Please look through open issues, and join in wherever you feel most comfortable.
If you'd like to help with triage, let @jffng and @kjellr know here or in WordPress.org's slack instance. We'll help you get set up with the ability to add labels to issues and PRs.
Getting Started
To get started with development:
- Set up a WordPress instance, we recommend wp-env or Local as an alternative to docker.
- Install the Gutenberg plugin
- Clone / download this repository into your
/wp-content/themes/
directory
Tips for Contributors
- As stated above, a goal for the theme is to have as little CSS as possible. Much of the theme's visual treatments should be handled by the Block Editor and Global Styles. As a general rule, if multiple themes would benefit from the CSS you're considering adding, it might reasonably be provided by Gutenberg instead. Let's include clear code comments for any CSS we do include.
- Similarly, let's refrain from building any custom-built PHP or JavaScript-based workarounds for functionality that might reasonably be provided by the Block Editor. Twenty Twenty-Two will be the first widely-distributed block theme, so let's keep its code simple.
- In accordance to those last two bullets, this theme has no required build process.
- If you've helped contribute to the theme in any way, you deserve credit! Folks will be updating CONTRIBUTORS.md periodically with names of contributors, but feel free to open a PR or issue if we leave someone out.
Requirements
- Gutenberg plugin (latest)
- WordPress 5.8+
- PHP 5.6+
- License: GPLv2 or later
Some theme features / PRs may require Gutenberg trunk and will be described or tagged accordingly.
To optionally run tests locally, you will also need:
You can install the test-specific development dependencies by running npm i && composer install
. The following test commands are then available:
npm run lint:css
lints and autofixes where possible the CSScomposer run analyze [filename.php]
statically analyzes PHP for bugscomposer run lint
checks PHP for syntax errorscomposer run standards:check
checks PHP for standards errors according to WordPress coding standardscomposer run standards:fix
attemps to automatically fix errors
Resources
- Twenty Twenty-Two Figma Mockups
- Setting up a development environment
- Block Theme documentation
- Global Styles & theme.json documentation
Demo Site
There is a demo site located at https://2022.wordpress.net. During the theme development process, updates to trunk
will be brought onto the demo server within five minutes. After the theme is stable, the site will be switched to automatic updates from the WordPress.org repo.
Timeline
The theme will be released with WordPress 5.9 and follow the key dates / milestones associated with its development schedule.