Beginner's Guides

A Beginner’s Guide to Contributing to WordPress

admin-ajax (2)I’ve been working with WordPress since 2006, but never on WordPress. In other words, I’ve never contributed code. Excited and nervous at the same time, I started asking other team members for help.

It was suggested that I start with the handbook, however, my head was spinning about three paragraphs in! What I really wanted… was someone to show me.

Thankfully, Michael Beckwith had a moment, and we jumped on a screen-share and he walked me through the process. It’s really quite easy, and an hour later I had submitted my first patch. I can’t believe I was nervous!

The concept for getting your feet wet:

  1. Visit Trac and find a “needs testing” ticket
  2. Test a patch
  3. Make any necessary adjustments and submit an updated patch

By using a “needs testing” ticket, the code has already been written – enabling you to dive right in and start testing. This will help you become familiar with SVN and testing on your local environment.

The hard(er) part: development environments, SVN, diffs and aaahhh!

As overwhelming as it can seem, this part isn’t hard(er). In-fact, it’s no different than working on a client’s site:

Using a local development environment, version control (SVN), and a code editor – you will be reviewing and/or updating/creating code patches.

Here are the steps:

  1. Set up a local development environment
  2. Check out Trunk via CLI or use an app like Cornerstone (Mac) or Tortoise (Windows)
  3. Download a patch, and “apply” it
  4. Test, test, test!
  5. Make adjustments, save updated patch.
  6. Upload to Trac
  7. Reset SVN and repeat!

Rather than drone on, I’ve created a screencast that goes over the steps above.

I hope this helps encourage and inspire you to begin contributing. While you’re at it, go ahead and join us in chat.

Good luck!

UPDATE: The patch mentioned in the screencast was merged in, and I received props!


8 thoughts on “A Beginner’s Guide to Contributing to WordPress

  1. Great little introductory video there Greg! Thanks for recording that.

    Pro tip: When you upload a file you don’t need to manually append the incremental number, Trac will do that automatically.

  2. This is a neat guide and I LOVE the thought process here. I often jump into something and get gun-shy from detailed documentation and all I want to do is jump in and start breaking stuff. =)

    This is great. Thanks.

  3. Greg – thanks for the post. I’ve been wanting to get involved more and just like you was a little overwhelmed with the official instructions and figuring out how to start. This was a great intro and was very helpful in getting my setup going and starting.

    Regarding your patch, I applied it and tested an audio post and video posts in various themes and seems good.

    When you test a patch are you supposed to just post your findings being good for all the affected themes or are you also supposed to supply screen shots to confirm the fix or only screen shots to illustrate issues?

      1. Thanks Damon… I got notice from trac yesterday and saw some comments after my post that the issue has been close and set to fixed, thus I guess Greg’s fix will be in 4.1 release.

        Congrats! and thanks again for the great intro.

  4. Greg,
    What an awesome post! so exactly what I needed. I like the style of writing along with the experience your exhibited in your video. Thanks again and keep up the awesome tutorials!

Have a comment?

Your email address will not be published. Required fields are marked *

accessibilityadminaggregationanchorarrow-rightattach-iconbackupsblogbookmarksbuddypresscachingcalendarcaret-downcartunifiedcouponcrediblecredit-cardcustommigrationdesigndevecomfriendsgallerygoodgroupsgrowthhostingideasinternationalizationiphoneloyaltymailmaphealthmessagingArtboard 1migrationsmultiple-sourcesmultisitenewsnotificationsperformancephonepluginprofilesresearcharrowscalablescrapingsecuresecureseosharearrowarrowsourcestreamsupporttwitchunifiedupdatesvaultwebsitewordpress