Contributing to bundled themes

The next default theme

A new default theme is usually included in the last major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. of the year.

The lead designer and lead developer are part of the release squad. The design is selected and approved by project lead Matt Mullenweg before the development of the theme starts.

For the past 3 years, the development of the theme has been open to all contributors.

Top ↑

Ways to contribute to the default theme:

Top ↑

Suggesting features

You can suggest features that you want the theme to include.

The theme follows the same release cycle as WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. A feature suggestion needs to be submitted as early in the release as possible for the developers to have time to consider and work on implementing your suggestion.

Top ↑

Testing and reporting issues

The earlier the testing starts, the better chance that theme is released with as few bugs as possible.

Testing the accessibilityAccessibility Accessibility (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) of the theme should be prioritized.

Top ↑

Contribute with code

You can help develop new features and solve issues that have been reported. You can review pull requests and review existing code for potential problems.

Top ↑

Contribute by writing copy and documentation

Every theme needs a theme description. Copy also needs to be written if the theme includes starter content and blockBlock Block 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.

It is important that all text that is used for custom options and instructions is relevant and easy to understand.

The default theme has an official support page which needs to be complete for Release CandidateRelease Candidate A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge. 1.

When writing text for the theme, use sentence casing and not title case.

When possible, keep texts consistent with previous default themes.

Top ↑

Helpful tips for theme squad leads

Top ↑

Orientation

One of the most important things when creating the default theme is knowing who to contact when you have questions about the release, and also who you can contact for commits.

For information about the release cycle, betaBeta A 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. releases and release candidates, see: https://make.wordpress.org/core/handbook/about/release-cycle/releasing-major-versions/#pre-beta-1

Top ↑

Meetings

Decide how often and when to hold meetings. Meetings take place in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. in the #core-themes channel. You can schedule separate bug scrubs or you can do this as part of the meeting. You can also decide if you want to post meeting agendas before each meeting.

Instead of using private channels, try to keep discussions public in the #core-themes channels so that more people have a chance to get involved and contribute.

Top ↑

Requesting access

You will need access to the Core blog to be able to post updates, meeting agendas or calls for testing.

Access to using the /here command for the #core-themes Slack channel is needed for meetings.

To work on theme related TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. issues, you may also need increased “bug gardening” privileges for the Core Trac.

Top ↑

Decisions not options

It is important to limit the number of options in the theme. The theme needs to be user-friendly both to new and experienced users.

Top ↑

Accessibility and theme review requirements

The default theme needs to be accessibility-ready, and aim to comply with WCAGWCAG WCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/.. Accessibility needs to be included in the design and development process from the start and can not be added at the last minute.

If you are not already familiar with the guidelines for the theme directory, please read them here.

Top ↑

Versioning

The bundled themes use a version system with two numbers: 1.0.

Top ↑

GitHub Repository

The theme development takes place in a dedicated GitHubGitHub GitHub 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/ repository that is part the WordPress organisation. You will need administrative rights to be able to invite contributors and in turn grant them the rights they need to help you with the development and triage.

Development is moved to the Core Trac at a point that you decide. With the final release of the WordPress version, the GitHub repository is archived.

Top ↑

Giving props

To make sure that all contributors receive credits (props) for their work, you need to keep a list of their WordPress.orgWordPress.org The 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/ usernames. In the GitHub repository, this can be saved in a Contributors.md file. Example: https://github.com/WordPress/twentytwentyone/blob/trunk/CONTRIBUTORS.md

Top ↑

Packaging the theme for a release

Before the first beta version, create a ticket in the Core Trac for adding the theme to the WordPress package.

Example Trac tickets: https://core.trac.wordpress.org/ticket/51526, https://core.trac.wordpress.org/ticket/48110

Prepare the theme (preferably the day before the release to avoid any delays) and either create a GitHub pull request on WordPress-develop, or create a patch that can be added directly in Trac.

The benefit of using GitHub is that you will see the result of the automated tests right away.

For Beta releases, you will add the patch/pull request to WordPress trunk.

To make changes during the release candidates, you need sign off from two committers. These changes should be bug fixes for things found during the RCRelease Candidate A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge..

In the description of the pull request or patch, include the list of usernames that should receive props for contributing to the theme.

When the pull request has been made, contact a committer who can add the theme to the WordPress package.


Top ↑

Maintaining bundled themes

Bundled themes are the current and previous default themes that are included when you install WordPress.

You can contribute to improving the themes by:

  • Opening issues in the Core Trac ticket system when you find problems
  • Ticket triage
  • Submitting fixes

Top ↑

Trac

You can find the current open tickets in the Bundled Theme component: https://core.trac.wordpress.org/query?status=!closed&component=Bundled+Theme

You can also search the Core Trac using a specific theme name. Before opening a new issue, make sure that it is not already reported.

Top ↑

Stylesheet changes

If you are working on a bundled theme that has precompiled style files, for example Twenty Twenty-One, please make your patch in the .scss file not directly in the stylesheets.

For committers making changes you can compile any stylesheet using the following steps:

  • Apply the patch.
  • In the theme run ‘npm install‘ then ‘rpm run build‘.

Learn more about Trac:

Top ↑

Triage

Please see the dedicated triage page here: https://make.wordpress.org/themes/handbook/get-involved/themes-triage/

The goal of a triage session is to help move tickets closer to being fixed or closed.

When triaging theme-related tickets, first confirm that it is a theme-related issue and not a support question or a bug in a different component.

Top ↑

Submitting fixes

If you want to submit a patch to solve an issue, you may find it easier to use GitHub instead of Trac.

You can find detailed information about submitting a GitHub pull request for an open Trac ticket here:

Top ↑

More resources

Last updated: