SlideShare a Scribd company logo
How can I contribute to
  WordPress core?

    By Dave Martin - @lessbloat
I’m a new contributor.
Contributor Handbook

make.wordpress.org/core/handbook/
Lots of ways to help
•Support         •Translations
•Documentation   •Speaking
•Testing         •Run local classes
•Design          •Writing code
Front-end dev & Design
Outline
• Communication       • Intro to Trac
• Release cycles      • Intro to IRC
• Decisions           • Testing a patch
• I have an idea      • Creating a patch
• Run trunk locally
Communication

make.wordpress.org
Release cycles 101
• Planning
• Design/Dev - 2 mo.
• Beta’s - 1 mo.
• Release Candidates - 1 mo.
• Launch
Decisions
I’ve got an idea
Run trunk locally
Run trunk locally
 apachefriends.org (XAMPP)
Run trunk locally
  Start Apache and MySQL
Run trunk locally
/Applications/XAMPP/xamppfiles/htdocs
Run trunk locally
cd /Applications/XAMPP/htdocs/wordpress
Run trunk locally
svn co http://core.svn.wordpress.org/
trunk/
Run trunk locally
  localhost/phpmyadmin
Run trunk locally
   Edit your config
Run trunk locally
Add your database connection info
Run trunk locally
localhost/wordpress/trunk/
Intro to Trac
core.trac.wordpress.org
Contributing to WordPress core - a primer
Intro to IRC
http://adium.im/
Intro to IRC
irc.freenode.net
Intro to IRC
#wordpress-dev
#wordpress-ui
Testing a patch
Testing a patch
Testing a patch
Testing a patch
   svn status
Testing a patch
patch -p0 -i 21997.3.diff
Testing a patch
localhost/wordpress/trunk/wp-admin
Creating a patch
     svn up
Creating a patch
   svn status
Creating a patch
    svn diff
Creating a patch
svn diff > 21997.4.diff
Creating a patch
Creating a patch
Creating a patch
Creating a patch
Questions?

More Related Content

PDF
Packaging is the Worst Way to Distribute Software, Except for Everything Else
PPTX
Php core. get rid of bugs and contribute
PPTX
Devcon hh-2012
PDF
10 things you need to know about leaving shared hosting
PDF
On the Move, Migrations Made Simple
PDF
The New Frontend Toolchain
PPTX
Webdevcon Keynote hh-2012-09-18
PDF
Lightweight development (Lightning talk)
Packaging is the Worst Way to Distribute Software, Except for Everything Else
Php core. get rid of bugs and contribute
Devcon hh-2012
10 things you need to know about leaving shared hosting
On the Move, Migrations Made Simple
The New Frontend Toolchain
Webdevcon Keynote hh-2012-09-18
Lightweight development (Lightning talk)

What's hot (20)

PPTX
Building Open-Source React Components
PPTX
Building Open-source React Components
PDF
API All the Things!
PDF
Vinted life embetterment
PPTX
Intro ipcberlin2012
PDF
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
PDF
AMIMOTO WordPress + Amazon Web Services for ALL Tech Levels
ODP
From Test to Live with Rex
PDF
Enterprise PHP
PPTX
Working Well Together: How to Keep High-end Game Development Teams Productive
PPTX
When Tools Attack
PDF
Git+jenkins+rex presentation
PDF
Oscp preparation
PPTX
Docker for everything
PDF
Package anything with fpm cookery
PDF
Securing the Container Pipeline
PDF
Perl-Critic
PPT
Resumable File Upload API using GridFS and TUS
PDF
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
PPT
Tus.io presentation for iOS devscout meetup
Building Open-Source React Components
Building Open-source React Components
API All the Things!
Vinted life embetterment
Intro ipcberlin2012
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
AMIMOTO WordPress + Amazon Web Services for ALL Tech Levels
From Test to Live with Rex
Enterprise PHP
Working Well Together: How to Keep High-end Game Development Teams Productive
When Tools Attack
Git+jenkins+rex presentation
Oscp preparation
Docker for everything
Package anything with fpm cookery
Securing the Container Pipeline
Perl-Critic
Resumable File Upload API using GridFS and TUS
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
Tus.io presentation for iOS devscout meetup
Ad

Viewers also liked (6)

PDF
WordPress Intermediate Workshop
PDF
eCairn - Webinar 11-18-09
PPTX
Evolution of microprocessor
PPTX
Kesalahan grammar yang membuat kita kelihatan bodoh
PPTX
How To Build A Blog - Step-By-Step Guide
PPTX
WordPress Intermediate Workshop
eCairn - Webinar 11-18-09
Evolution of microprocessor
Kesalahan grammar yang membuat kita kelihatan bodoh
How To Build A Blog - Step-By-Step Guide
Ad

Similar to Contributing to WordPress core - a primer (20)

PDF
Introduction to Contribution
PDF
Becoming A WordPress Beta Tester
PDF
Decoding Core Contribution - WordCamp San Diego 2013
ODP
Wordcamp Uk 2008
PPTX
Introduction to git & WordPress
PDF
The Future of WordPress (WordCamp Montréal)
PDF
Contributing to WordPress Core
PPTX
WordPress Development Environments
PDF
Wordpress instruction for 675
PDF
Go with the Flow - A Guide to a WordPress Workflow
PDF
Contributing to WordPress
PDF
Go with the Flow - A Guide to a WordPress Workflow
PDF
The Genius of Wordpress - notes
PPTX
WordPress How To by Sherif Morgan
PDF
Word press customiztion and plugins feb 2012
PDF
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
PPTX
From WordPress With Love
ZIP
Wordpress for government websites slideshare.key
PDF
All about word press
Introduction to Contribution
Becoming A WordPress Beta Tester
Decoding Core Contribution - WordCamp San Diego 2013
Wordcamp Uk 2008
Introduction to git & WordPress
The Future of WordPress (WordCamp Montréal)
Contributing to WordPress Core
WordPress Development Environments
Wordpress instruction for 675
Go with the Flow - A Guide to a WordPress Workflow
Contributing to WordPress
Go with the Flow - A Guide to a WordPress Workflow
The Genius of Wordpress - notes
WordPress How To by Sherif Morgan
Word press customiztion and plugins feb 2012
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
From WordPress With Love
Wordpress for government websites slideshare.key
All about word press

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Spectroscopy.pptx food analysis technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPT
Teaching material agriculture food technology
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
Encapsulation_ Review paper, used for researhc scholars
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25-Week II
Spectroscopy.pptx food analysis technology
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Teaching material agriculture food technology
A comparative analysis of optical character recognition models for extracting...
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation

Contributing to WordPress core - a primer

Editor's Notes

  • #2: \n
  • #3: - Good opportunity to talk about this, since it's fresh in my mind.\n- Name is Dave Martin\n- I work for Automattic on the dot org team\n- I started working on core at the beginning of the 3.5 release.\n- Automattic, which runs wp.com is a private company\n- They donate my time to work full time on core\n
  • #4: - Check out the contributor handbook at this address\n- It covers a lot of the getting started questions you may have\n
  • #5: - Not going to talk in depth about all of the ways you can contribute\n- There are loads of ways you can help out. \n- You don’t have to be a coder or designer to contribute.\n
  • #6: - Going to focus on front-end dev and design perspective\n- That’s where I spend the bulk of my time.\n- You’ll also find this presentation helpful if you're just getting started in other ways\n
  • #7: - Things I'd like to cover are the following\n
  • #8: - TALK THROUGH EACH\n- IRC\n- Trac\n- Make P2’s\n- make.wordpress.org\n- Core, UI, plugins, themes, support, accessibility\n
  • #9: - Trying to stick to 4 month release cycles\n- GO THROUGH EACH\n- 3-4 betas\n- 3 private RC’s and 1 public RC\n
  • #10: - WordPress core operates as a meritocracy\n- Decisions are made by those who have contributed the most, and been around the longest\n- Does that mean if you’re new, your voice won’t be heard? Not at all. \n
  • #11: - So, you’ve got an idea for improving wp-admin, or you’ve found a bug\n- The first thing you do is head over to Trac - and run a couple searches\n- there may already be a ticket\n- If so, you’ll see the back history\n- If you don’t find anything, ask in IRC - there may be a back story behind why it hasn’t been done.\n- If the reaction is positive, create a ticket\n
  • #12: - I’ll walk you through how I do things\n- For all of these tutorials I’ll be using a Mac\n- That’s what I use, but a lot of the processes are similar on other operating systems\n
  • #13: - First you’ll want to download and install XAMPP\n- This will auto install apache, PHP, and MySQL\n- Go ahead an just install it in your applications folder\n
  • #14: - After you’ve installed XAMPP, \n- From the XAMPP control panel, you’ll want to turn on Apache, and MySQL\n
  • #15: - After you’ve turned on XAMPP, open the htdocs\n- I’ve added the path here on the slide\n- And add a new folder called “wordpress”\n
  • #16: - Next open terminal and change directories by typing cd /Applications/XAMPP/htdocs/wordpress\n- Then hit enter\n
  • #17: - Then enter “SVN CO ...”\n- SVN is the version control used to host Wordpress trunk\n- CO equals “check out”\n- So essentially, you are checking out a copy of WordPress trunk to your local WordPress folder\n- Once you hit enter, you’ll see a bunch of WordPress files being added\n
  • #18: - We need to create a database for WordPress\n- Open a browser and go to localhost/phpmyadmin/\n- In the create a new database section enter “wordpress” as the database name\n- And click create - this will create a blank DB for you to use with WordPress\n
  • #19: - Open your new wordpress folder in a text editor (I use Coda)\n- Just like in any new install, you’ll want to\n- Make a copy of the wp-config-sample.php file, and rename it without the sample bit\n
  • #20: - Add “wordpress” as the db name\n- Then root for the username, leave the password blank, and leave the host to localhost\n
  • #21: - Last, just visit localhost/wordpress/trunk/ in your browser and finish your install\n- Your local site will then be accessible through localhost/wordpress/trunk/\n- And just tack a wp-admin on the end to reach the admin.\n
  • #22: - Trac is where we keep track of bugs and everything that’s being worked on\n- This is the reports tab\n- You’ll see that report 5 there with show you all of the open tickets slated for the next major release\n- Report 35, which you can’t see here shows all UX, UI tickets.\n
  • #23: - This is what you’ll see when you look at a ticket\n- The top portion lists who reported it\n- Attachments will include (patches, images)\n- Change history at the bottom is where you comment on this ticket, and read the ticket history.\n- We’ll go through the process of creating a patch at the end of the talk, and I’ll show you more of Trac then.\n
  • #24: - There are plenty of IRC tutorials on the net, but I just want to touch quickly on getting started\n- The IRC client I use is called Adium - it’s free.\n
  • #25: - After you download and install Adium, you’ll want to connect to irc.freenode.net\n
  • #26: - The two rooms I frequent are: #wordpress-dev, and #wordpress-ui\n\n
  • #27: - One of the best was to get your feet wet is to start by testing other peoples patches\n- So here’s a ticket with some improvements to the pressthis bookmarklet\n- It has yet to be committed, but multiple patches have been uploaded\n- The latest one dot 3 was uploaded 2 weeks ago.\n- So, you could come in and click that last link (which will show you the patch)\n\n
  • #28: - From the patch page, you can review the code that has been submitted, \n- and you can download a copy of the patch to test it on your local install\n- Just click that grey link at the bottom that says “Original Format”\n\n
  • #29: - After you’ve got that downloaded, to your desktop, drag it to your local WP install\n- It should be right there in the trunk directory\n
  • #30: - Hop back over to terminal, and type svn status\n- This will show you any files that you’ve modified in trunk, or any file that has not been added via SVN\n- You can see that our diff files is sitting there\n
  • #31: - Next type patch -p0 -i 21997.3.diff \n- This will apply the changes from patch file to your local instance of wordpress\n- It will give you an indication as to whether everything went okay or not\n
  • #32: - Then you pull up your local install in the browser and test the changes that were just applied\n- And then go back to the ticket in Trac, and leave a comment stating how you tested it, \n- and whether the patch looks good or not.\n- Try to be as specific as possible (especially if you find something wrong with the patch).\n
  • #33: - So let’s say you’ve made a change to you local install of wordpress, and you’d like to submit it as a patch.\n- The first thing you’ll want to do is type SVN up, and hit enter, \n- which will make sure you’re running the latest version of trunk, and ensure that you don’t have any conflicts\n
  • #34: - Then run svn status to review the files with changes\n- You’ll see an M next to the wp-admin.css file\n- That means there are modifications to that file\n
  • #35: - To review those modifications, you’ll type svn diff\n- This will allow you to review the actual diff of the files that were changed\n- You’ll see a minus sign on the left next to lines that were removed\n- And a plus sign next to new lines that have been added\n
  • #36: - To export this diff to a file that can then be uploaded to the ticket, type svn diff > 21997.4.diff\n- The greater than sign exports it to a file\n- 21997 is the Trac ticket ID (this is just best practice)\n- Since this was a modification to an existing patch, I changed .3 to .4\n
  • #37: - Then, when you check your local trunk directory, you should see that new .4.diff file\n- \n
  • #38: - Go back to the ticket page, and click the “attach file” button\n
  • #39: - And upload your new patch in the form that is provided.\n
  • #40: - Last, go back to the ticket, and leave a detailed comment as to what was changed, and why.\n
  • #41: - That’s all I’ve got for today.\n- Thanks for sticking around for the last session.\n- Any questions?\n