Getting Started

This page gives you a clear guide on what you need to do in order to get started with contributing to WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Below you will find a list of items that need to be taken care of, with links leading to more specific tutorials on the individual steps.

Everything described here is recommended to efficiently contribute to WordPress core. Where possible, different choices are highlighted to leave enough flexibility to account for your typical workflows. If you are planning to join a contributor dayContributor Day Contributor 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://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. in the WordPress core team, following these steps in advance will ensure you maximize your outcome of that day since often-times several of them can be time-consuming during contributor days, particularly due to slow internet connections.

Joining communication channels Joining communication channels

Communication in WordPress commonly happens either asynchronously on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., which is the issue tracker used by the project, or in live chat on 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/., which is a popular instant messaging service used by many organizations. Here is how you get access to these two tools:

  1. Sign up for a wordpress.org account and complete the instructions. You may optionally sign up at gravatar.com with the same email address if you’d like to have a profile picture (recommended). This account can be used for all contributing activities.
  2. In order to join the international WordPress Slack team and thus be able to participate in core team meetings and other discussions, you need to receive an invite. Visit the WordPress + Slack page while being logged in with your 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/ account, and click the link to receive the invite per email.
  3. Via the email, log in to the Slack team. For email address, use {username}@chat.wordpress.org where {username} is your user name you picked for wordpress.org. If possible, pick the same username for Slack.

Top ↑

Setting up your development environment Setting up your development environment

In order to contribute to WordPress core, you need a local development environment and a checkout of WordPress trunktrunk A 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., which is the development version of WordPress. Be aware that this is not the same as the latest downloadable WordPress release.

Setting up a local server Setting up a local server

Download and install a local development environment on your machine. You have a few options here:

  • The recommended way is to use a software called Varying Vagrant Vagrants (or VVV), which is a Vagrant configuration tailored specifically for WordPress development. Please follow the handbook instructions on how to install VVV.
  • If you already have an environment that includes a webserver with PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20, MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/./MariaDB and SSHSSH Secure SHell - a protocol for securely connecting to a remote system in addition to or in place of a password. access and you prefer working with that system, it is perfectly fine to decide on using another environment. Popular alternatives include DesktopServerMAMP, WampServer, XAMPP, and others. Be aware though that none of them is optimized for WordPress core development, so a little more groundwork will be necessary in that case.

Top ↑

Setting up a version controlversion control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories. system Setting up a version control system

Install a version control system to use for WordPress core. Here you have two options:

  • WordPress core by default uses Subversion (or SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase.) for version control, which works relatively similar to GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/., but is a little older. While most people prefer working with Git, the SVN commands you typically use when developing for WordPress core are trivial and almost the same as their Git counterparts. VVV already has SVN pre-installed. If you are using another environment or prefer to also use SVN directly on your computer, there is a handbook tutorial guiding you through the process.
  • Alternatively, you can install Git from the Git project website. On many environments, for example VVV, you will already find it pre-installed. If you prefer using a visual UIUI User interface in addition, feel free to use a client app such as Sourcetree, or GitHub Desktop (which works particularly well when used together with GitHubGitHub GitHub is a website that offers online implementation of git repositories that can 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/).

Top ↑

Setting up a WordPress development repository Setting up a WordPress development repository

Set up the development version of WordPress in your development environment. Again, this is a significantly easier process if you are using VVV for your setup. How you proceed depends on whether you decided to use SVN or Git for version control in the second step:

And with that, you’re ready to get started with contributing!

Top ↑

What is next? What is next?

If you plan to attend a contributor day, the above prerequisites will give you a jumpstart so that you can immediately focus on learning how to actually contribute. If you are not visiting this page because you are going to attend a contributor day or if you are already interested in diving in deeper, the best way to proceed is to learn more about why contributing to core is important and which processes are involved. In case you immediately prefer working with tickets instead, this introduction to Trac will help you get familiar.

Last updated: