Welcome to the development repository for the default theme that will launch with WordPress 6.4.
Twenty Twenty-Four is built 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.
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 @luminuu and @MaggieCabrera 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.
To get started with development:
- Set up a WordPress instance, we recommend wp-env or Local as an alternative to docker. Alternatively you can use WordPress Playground to test the theme directly in the browser.
- Install the Gutenberg plugin
- Clone / download this repository into your
/wp-content/themes/
directory.
- 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, let's keep the code simple to help with future maintenance.
- 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.
- Gutenberg plugin (latest)
- WordPress 6.4+
- PHP 7.0+
- License: GPLv2 or later
Some theme features / PRs may require Gutenberg trunk and will be described or tagged accordingly.
Optionally, to run tests locally, you will also need:
- Node.js
- It's recommended that you install Node through nvm, since it's the tool used by the CLI to select the node version being used.
- Composer
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
- Twenty Twenty-Four Figma Mockups
- Setting up a development environment
- Block Theme documentation
- Global Styles & theme.json documentation
The theme will be released with WordPress 6.4 and follow the key dates / milestones associated with its development schedule.