Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Contributing code to WordPress core
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Peter Wilson
October 21, 2015
Programming
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Contributing code to WordPress core
Peter Wilson
October 21, 2015
More Decks by Peter Wilson
See All by Peter Wilson
WordCamp Sydney: The Enterprise Approach to WordPress Security.
peterwilsoncc
0
210
LoopConf - Burn it down: A case study in CMS replatforming
peterwilsoncc
0
1.2k
wp_post_insert(): how, what, why?
peterwilsoncc
1
620
Yow West - Performance: The path to HTTP/2 is Full of Potholes
peterwilsoncc
0
230
WordCamp Ubud: Performance - Moving to HTTP2
peterwilsoncc
0
560
WordCamp Auckland: I'm an imposter because...
peterwilsoncc
0
660
WordCamp Sydney: Contributing to WordPress Core
peterwilsoncc
1
280
WordCamp SG: Contributing to WordPress Core
peterwilsoncc
0
690
WCEU: Seven Times Faster : A Study in frontend Optimization
peterwilsoncc
4
980
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
130
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.7k
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
200
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
160
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.9k
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
130
霧の中の代数的エフェクト
funnyycat
1
310
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
15
3.1k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
300
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
107
250k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Become a Pro
speakerdeck
PRO
31
6k
Designing for Timeless Needs
cassininazir
1
280
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Transcript
Contributing code to WP Core Peter Wilson peterwilson.cc @pwcc
None
Coding for core
Don’t hack WordPress core!
Don’t hack WordPress core! without contributing code back!
WPMelb Easter Egg <?php // inside get_post_class if ($title ==
"WordPress Melbourne") $classes[] = "wpmelb";
make.wordpress.org/core/handbook
What would happen without coding standards?
flic.kr/p/goGDXM (CC)
flic.kr/p/goGDXM (CC) We are WordPress’s passengers
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title($post_id);
if ($title == "WordPress Melbourne") $classes[] = "wpmelb";
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title($post_id);
if ("WordPress Melbourne" == $title) $classes[] = "wpmelb";
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title(
$post_id ); if ( "WordPress Melbourne" == $title ) $classes[] = "wpmelb";
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title(
$post_id ); if ( "WordPress Melbourne" == $title ) { $classes[] = "wpmelb"; }
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title(
$post_id ); if ( "WordPress Melbourne" == $title ) { $classes[] = "wpmelb"; $classes[] = "wordpress-melbourne"; }
WPMelb Easter Egg <?php // inside get_post_class $title = get_the_title(
$post_id ); if ( "WordPress Melbourne" == $title ) { $classes[] = "wpmelb"; }
Uploading a patch
None
#32831 WP Melb Easter Egg $classes[] = 'post-' . $post->ID;
$title = get_the_title( $post_id ); if ( "WordPress Melbourne" == $title ) { $classes[] = "wpmelb"; } if ( ! is_admin() ) src/wp-includes/post-template.php
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff diff
--git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php index 92ccf45..6d46d22 100644 --- a/src/wp-includes/post-template.php +++ b/src/wp-includes/post-template.php @@ -436,6 +436,11 @@ function get_post_class( $class = '', $post_id = null ) { } $classes[] = 'post-' . $post->ID; + $title = get_the_title( $post_id ); + if ( "WordPress Melbourne" == $title ) { + $classes[] = "wpmelb"; + } + if ( ! is_admin() ) $classes[] = $post->post_type; $classes[] = 'type-' . $post->post_type;
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
#32831 WP Melb Easter Egg wptrac peterwilson$ git diff >
~/Downloads/32831.1.diff wptrac peterwilson$
None
None
You retain the copyright. You license your code to WordPress
None
None
None
Let the code reviews begin
None
flic.kr/p/y35dEE (CC)
Hack WordPress core, contribute code back.
Hack WordPress docs, contribute docs back.
Translate WordPress, help spread the word.
Contribute however you can, however you feel comfortable.