How to contribute to WordPress Core

Core Contributor.. a feel for every WordPress developer comes into his mind. When I wished to start the core contribution, unfortunately, I couldn’t get the brief documentation where I can get the exact things to kick off.

But it’s my wish to explain everything briefly so anyone can start contributing to WordPress core easily.

There are different ways to contribute to the WordPress core by submitting a fix in the form of a patch, reporting a bug on core track, testing the patches submitted by the other WordPressers.

Let’s start!!!

Bug:

If you found a bug in WordPress core code, in WordPress admin area or any glitch either in the default WordPress Twenty themes or found in any of the WordPress default components.

Go to the WordPress Core Track link and report the bug by providing all the information like screenshots, short video if possible with proper test cases. To report the bug to core first make sure by disabling the third party plugins & themes.
https://core.trac.wordpress.org/newticket

Note: Make sure this bug is not reported earlier by searching the core tickets.
https://core.trac.wordpress.org/search

Testing:

If you don’t have a technical background, no need to worry you can contribute to WordPress core by testing the patches submitted by other WordPressers.
https://core.trac.wordpress.org/tickets/needs-testing

Create & Submit a Patch:

If you are a good programmer and have a knowledge about WordPress core code as well as its components then don’t wait and submit your patch to improve the WordPress more and more.

There are different ways to create the patch in WordPress core but I feel the easiest way is creating the patch through Sourcetree. Before starting let me tell you about the WordPress core directory. WordPress core patches are merged in SVN repo and SVN then mirrored on GitHub repo named as WordPress. Your pull request will not be entertained on WordPress GitHub repo. You have to submit the patch against the ticket. If the ticket is not available then you can create the ticket and then submit the patch against the created ticket as mentioned above.

I’ll try my best to explain how you can set up a local project, clone the WordPress core repo, synchronize with the local project and create the patch as well.

  • Clone the WordPress Repo:

As I have mentioned above the WordPress is managed through SVN & mirrors with GitHub repo after every 15 minutes.

After the Sourcetree installation according to your OS, first, create the local repo where you want to install the WordPress like wordpresscore etc and the go to the Sourcetree top menu, click on New menu item & then choose the Clone/New option. Add the WordPress Git repo link and the directory where you want to install the WordPress and then hit the Clone button. Please see the below screen-shot that will surely help you.

How to clone the WordPress Nightly Build Repo
How to clone the WordPress Nightly Build Repo

After cloning the repo, install the WordPress as you commonly install by copying the WordPress files in the directory and then go to the installation process like http://localhost/wordpresscore.

After installing and configuration, choose the ticket from core.track.wordpress.org and start working on its fix if its bug.

You are a beginner in WordPress? No need to worry. Grab a ticket from Good First Bugs maybe you’ll find some easy glitches that you can fix. Mostly the Good First Bugs are tagged for the New Contributors.

  • Create a Patch:

Before preparing the patch, make sure you have also read the instructions regarding the Writing Patches recommended by WordPress.

After working on fix or enhancement regarding the core ticket, go to SourceTree select the working copy, choose the Action from the menu. Select Create Patch and then select the file(s) you have modified and name the patch. After creating patch upload it on the relevant core ticket.

Alternatively, in your terminal, navigate to the root directory for your WordPress repo and use this command to create the diff:

git diff —non-prefix ~/name.path 

How to Create a Patch
How to Create a Patch

No matter how you create your patch file, you should name it after the ticket number it is intended for. If it is the second patch uploaded to the ticket append .2 to the end of the number, or .3 if it is the third and so forth. For example, the fifth patch for ticket #12358 would be called #12358.

  • Upload a Patch on Core Track

After creating the patch, you are all set to upload it on the relevant core ticket as we commonly upload any image or file.

Upload a Patch on WordPress Core Track
Upload a Patch on WordPress Core Track

After uploading the patch, please be patient and wait for any core committer, component maintainer or any volunteer who can review your ticket and leave the comment accordingly. As WordPress is an open source product, that is built and managed by the WordPressers who are working voluntarily according to their availability.

You can also follow up your ticket through the #core slack channel by signing up on Making WordPress workspace.