SlideShare a Scribd company logo
1 of 48
Download to read offline
The code history
of WordPress
WordCamp Paris - 2014
Who I am?
• Marko Heijnen - @markoheijnen	

• Working at 1&1 as their WordPress
specialist	


• WordPress core contributor	

• GlotPress core developer - @GlotPress	

• Co author of WP_Image_Editor
Our timeline
• 2003 - WordPress was founded	

• 2005 - WordPress 2.0 got released	

• 2006 - I started to use WordPress	

• 2010 - My first contribution to WordPress	

• 2012 - Recent rockstar of 3.4	

• 2013 - WordPress becomes 10	

• 2013 - 3.8 was the 21 major release
January 17, 2014 at 08:07
The first couple of
years I missed
I would say the
golden years
It was founded by

Matt Mullenweg

Mike Little
It all started almost 11
years ago when Matt
wrote a blog post
The comment
And WordPress
was born
But what were the most
important changes that
happened in the code?
Post Meta
When was this added to WordPress?
0.70
• WordPress had its first release as a fork of
b2 on May 27, 2003	


• A lot of code cleanups to make it more
stable and faster	


• Functions like texturize and manual excerpt
were added
1.0 “Miles Davis”
• Search engine friendly
permalinks	


• Multiple categories

January 3, 2004
1.2 “Charles Mingus”
• Post meta
• New plugin architecture
• Encryption of password	

• Localization
• Sub categories	

• Thumbnail creation

May 22, 2004
The WordPress Plugin Repository

• On January 10, 2005 the WordPress Plugin
repository was announced	


• It was then on WP-Plugins.org	

• It was focused on Trac since it didn’t have a
user friendly front-end, yet
1.5 “Billy Strayhorn”
• The basic template engine
was added

• Pages was added

February 17, 2005
2.0 “Duke Ellington”
• AJAX functionality got added	

• Capability API	

• Inline uploading	

• User level options	

• Pluggable object cache	

• Functions.php was added
• Nonces 2.0.3

December 31, 2005
2.1 “Ella Fitzgerald”
• Autosave	

• All queries got checked	

• More AJAX	

• Cron API
• WP_Error class was added

January 22, 2007
2.2 “Stan Getz”
• Widgets API
• Started using jQuery	

• PHPMailer got added	

• Increased the inline
documentation

May 16, 2007
The first unit tests got
September 20, 2007
2.3 “Dexter Gordon”
• Updating system
• Taxonomy API got added
• Canonical URLs	

• $wpdb->prepare()	

• Activation protection
• Restructure of wp-admin
folder

September 24, 2007
2.5 “Michael Brecker”
• Shortcode API
• Multi-file upload with

March 29, 2008

progress bar	


• EXIF extraction	

• Search posts and pages	

• Installing/updating plugins
22 contributors
2.6 “McCoy Tyner”
• Post Revisions	

• Full SSL support	

• Theme previews

July 15, 2008

75 contributors
2.7 “John Coltrane”
• HTTP API
• Uninstall a plugin	

• Settings API
• wp_page_menu()	

• Plugin installer	

• WordPress upgrader

December 10, 2008

144 contributors
2.8 “Chet Baker”
• New Widgets API	

• HTTP API updates and fixes	

• Search/Install themes

June 11, 2009
2.9 “Carmen McRae”
• Built-in image editor	

• Post thumbnails	

• Basic post type support	

• Meta data for comments	

• oEmbed

December 18, 2009

140> contributors
3.0 “Thelonious Monk”
• WordPress MU merged	

• Custom menus	

• Custom post type support
• Lots of other improvements

June 17, 2010

218 contributors
3.1 “Django Reinhardt”
• Admin bar	

• WP_User_Query	

• Advanced queries	

• List-type Admin Screens

February 23, 2011

180> contributors
3.2 “George Gershwin”
• Moved to PHP 5 and MySQL 5	

• Speed improvements	

• WP_Meta_Query

July 4, 2011

133 contributors
3.3 “Sonny Stitt”
• New editor API	

• Post-slug-only permalinks	

• is_main_query()	

• WP_Screen	

• Metadata API improvements

December 12, 2011

179 contributors
3.4 “Grant Green”
• Theme customizer	

• wp.* XML-RPC methods	

• WP_Theme

June 13, 2012

183 contributors
More awareness for
out unit tests
3.5 “Elvin Jones”
• WP_Image_Editor	

• switch_to_blog()	

• Underscore/Backbone	

• WP_Comment_Query and

December 11, 2012

WP_User_Query excepting
meta queries
260 contributors
3.5 “Elvin Jones”
• WP_Post	

• Ordering by post__in	

• AJAX support functions like

December 11, 2012

wp_send_json_success()

260 contributors
3.6 “Oscar Peterson”
• Audio/Video support	

• Better control for revisions	

• has_shortcode()	

• Heartbeat API

August 1, 2013

225 contributors
3.7 “Count Basie”
• Automattic updates	

• Stronger passwords	

• Language packs	

• Cleanup tickets	

• Better documentation	

• Improved Search	

• Date queries

October 24, 2013

211 contributors
3.8 “Charlie Parker”
• Heartbeat performance and

December 12, 2013

API improvements	


• Nginx detection	

• automatic_updates_complete

188 Contributors
A great progress
was made
Backwards compatibility
The market
PHP versions
Our tools
• Official GIT mirrors	

• Grunt	

• JSHint	

• Unit testing PHP and JS	

• Minification	

• Sass
The future
• 2014 looks like a great year for new API
features like:	


• WP API	

• Media improvements	

• Post Meta library	

• More see: http://make.wordpress.org/
core/features-as-plugins/
WPCentral.io
• @WPCentralio	

• Work in progress	

• If you like to see this information back in a
interactive way	


• Currently building the features like:	

• Download & Version history	

• Timeline of features
Questions?
@markoheijnen - http://markoheijnen.com

More Related Content

What's hot

How to build a rest api
How to build a rest apiHow to build a rest api
How to build a rest apiHoang Nguyen
 
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...DIWUG
 
2016 SUTOL: React.js – High-Performance Client for Domino
2016 SUTOL: React.js – High-Performance Client for Domino2016 SUTOL: React.js – High-Performance Client for Domino
2016 SUTOL: React.js – High-Performance Client for DominoKnut Herrmann
 
Salesforce winter 16 release
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 releaseJitendra Zaa
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with KotlinTroy Miles
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITFrank van der Linden
 
Elastic & Azure & Episever, Case Evira
Elastic & Azure & Episever, Case EviraElastic & Azure & Episever, Case Evira
Elastic & Azure & Episever, Case EviraMikko Huilaja
 
Episerver and search engines
Episerver and search enginesEpiserver and search engines
Episerver and search enginesMikko Huilaja
 
Introduction to SharePoint Developer
Introduction to SharePoint DeveloperIntroduction to SharePoint Developer
Introduction to SharePoint DeveloperKelly Jones
 
10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James ClanceyXamarin
 
PluginBasicsWCNYC2014
PluginBasicsWCNYC2014PluginBasicsWCNYC2014
PluginBasicsWCNYC2014Kiko Doran
 
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens  SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens Sencha
 
How Carolinas HealthCare System Governs SharePoint
How Carolinas HealthCare System Governs SharePointHow Carolinas HealthCare System Governs SharePoint
How Carolinas HealthCare System Governs SharePointKelly Jones
 
WordCamp SF - BuddyPress 1.5
WordCamp SF - BuddyPress 1.5WordCamp SF - BuddyPress 1.5
WordCamp SF - BuddyPress 1.5John Jacoby
 
Digital Publishing Made Easy with the OSCI Toolkit
 Digital Publishing Made Easy with the OSCI Toolkit Digital Publishing Made Easy with the OSCI Toolkit
Digital Publishing Made Easy with the OSCI ToolkitKyle Jaebker
 
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...DIWUG
 
Jumpstart: Introduction to Atlas, Highlighting Enterprise Features
Jumpstart: Introduction to Atlas, Highlighting Enterprise FeaturesJumpstart: Introduction to Atlas, Highlighting Enterprise Features
Jumpstart: Introduction to Atlas, Highlighting Enterprise FeaturesMongoDB
 
What's new in Ektron v8.6 for Developers
What's new in Ektron v8.6 for DevelopersWhat's new in Ektron v8.6 for Developers
What's new in Ektron v8.6 for DevelopersBillCavaUs
 

What's hot (20)

How to build a rest api
How to build a rest apiHow to build a rest api
How to build a rest api
 
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...
SPSNL17 - Getting notified by SharePoint with the webhook functionality - Eli...
 
2016 SUTOL: React.js – High-Performance Client for Domino
2016 SUTOL: React.js – High-Performance Client for Domino2016 SUTOL: React.js – High-Performance Client for Domino
2016 SUTOL: React.js – High-Performance Client for Domino
 
Salesforce winter 16 release
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 release
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with Kotlin
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetIT
 
Elastic & Azure & Episever, Case Evira
Elastic & Azure & Episever, Case EviraElastic & Azure & Episever, Case Evira
Elastic & Azure & Episever, Case Evira
 
Episerver and search engines
Episerver and search enginesEpiserver and search engines
Episerver and search engines
 
Introduction to SharePoint Developer
Introduction to SharePoint DeveloperIntroduction to SharePoint Developer
Introduction to SharePoint Developer
 
10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey10 Must-Use Components for Your Mobile Apps, James Clancey
10 Must-Use Components for Your Mobile Apps, James Clancey
 
PluginBasicsWCNYC2014
PluginBasicsWCNYC2014PluginBasicsWCNYC2014
PluginBasicsWCNYC2014
 
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens  SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
 
How Carolinas HealthCare System Governs SharePoint
How Carolinas HealthCare System Governs SharePointHow Carolinas HealthCare System Governs SharePoint
How Carolinas HealthCare System Governs SharePoint
 
WordCamp SF - BuddyPress 1.5
WordCamp SF - BuddyPress 1.5WordCamp SF - BuddyPress 1.5
WordCamp SF - BuddyPress 1.5
 
Digital Publishing Made Easy with the OSCI Toolkit
 Digital Publishing Made Easy with the OSCI Toolkit Digital Publishing Made Easy with the OSCI Toolkit
Digital Publishing Made Easy with the OSCI Toolkit
 
.Net Fundamentals
.Net Fundamentals.Net Fundamentals
.Net Fundamentals
 
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...
SPSNL17 - Getting started with SharePoint development for the reluctant IT Pr...
 
Jumpstart: Introduction to Atlas, Highlighting Enterprise Features
Jumpstart: Introduction to Atlas, Highlighting Enterprise FeaturesJumpstart: Introduction to Atlas, Highlighting Enterprise Features
Jumpstart: Introduction to Atlas, Highlighting Enterprise Features
 
SharePoint Dev Ecosystem / PnP - January 2018 monthly call
SharePoint Dev Ecosystem / PnP - January 2018 monthly callSharePoint Dev Ecosystem / PnP - January 2018 monthly call
SharePoint Dev Ecosystem / PnP - January 2018 monthly call
 
What's new in Ektron v8.6 for Developers
What's new in Ektron v8.6 for DevelopersWhat's new in Ektron v8.6 for Developers
What's new in Ektron v8.6 for Developers
 

Viewers also liked

Site WordPress ecommerce Multisite Multilangue
Site WordPress ecommerce Multisite MultilangueSite WordPress ecommerce Multisite Multilangue
Site WordPress ecommerce Multisite MultilangueEmilie LEBRUN
 
Social selling : comment développer un avantage concurrentiel
Social selling : comment développer un avantage concurrentielSocial selling : comment développer un avantage concurrentiel
Social selling : comment développer un avantage concurrentielLinkedIn Sales Solutions FR
 
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateursTony Archambeau
 
Wordpress (MU) Multisite ventajas y desventajas
Wordpress (MU) Multisite ventajas y desventajasWordpress (MU) Multisite ventajas y desventajas
Wordpress (MU) Multisite ventajas y desventajasDuyal Servicios Web
 
Bien débuter dans la conception d'un thème WordPress
Bien débuter dans la conception d'un thème WordPressBien débuter dans la conception d'un thème WordPress
Bien débuter dans la conception d'un thème WordPressAurélien Denis
 
Combien coûte un site WordPress ? - Wordcamp Paris 2014
Combien coûte un site WordPress ? - Wordcamp Paris 2014Combien coûte un site WordPress ? - Wordcamp Paris 2014
Combien coûte un site WordPress ? - Wordcamp Paris 2014Thierry Pigot
 
Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Alex Bortolotti
 
Exploring WordPress Multisite
Exploring WordPress MultisiteExploring WordPress Multisite
Exploring WordPress MultisiteLisa Sabin-Wilson
 
Choisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressChoisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressBoiteaweb
 
Wcparis 2014 content_chouing2
Wcparis 2014 content_chouing2Wcparis 2014 content_chouing2
Wcparis 2014 content_chouing2Cedric Motte
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014ALTER WAY
 

Viewers also liked (11)

Site WordPress ecommerce Multisite Multilangue
Site WordPress ecommerce Multisite MultilangueSite WordPress ecommerce Multisite Multilangue
Site WordPress ecommerce Multisite Multilangue
 
Social selling : comment développer un avantage concurrentiel
Social selling : comment développer un avantage concurrentielSocial selling : comment développer un avantage concurrentiel
Social selling : comment développer un avantage concurrentiel
 
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs
♿ Accessibilité & WordPress : Créer des sites pour tous les utilisateurs
 
Wordpress (MU) Multisite ventajas y desventajas
Wordpress (MU) Multisite ventajas y desventajasWordpress (MU) Multisite ventajas y desventajas
Wordpress (MU) Multisite ventajas y desventajas
 
Bien débuter dans la conception d'un thème WordPress
Bien débuter dans la conception d'un thème WordPressBien débuter dans la conception d'un thème WordPress
Bien débuter dans la conception d'un thème WordPress
 
Combien coûte un site WordPress ? - Wordcamp Paris 2014
Combien coûte un site WordPress ? - Wordcamp Paris 2014Combien coûte un site WordPress ? - Wordcamp Paris 2014
Combien coûte un site WordPress ? - Wordcamp Paris 2014
 
Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014
 
Exploring WordPress Multisite
Exploring WordPress MultisiteExploring WordPress Multisite
Exploring WordPress Multisite
 
Choisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPressChoisir les bons Hooks dans vos Développements WordPress
Choisir les bons Hooks dans vos Développements WordPress
 
Wcparis 2014 content_chouing2
Wcparis 2014 content_chouing2Wcparis 2014 content_chouing2
Wcparis 2014 content_chouing2
 
Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014Alter way-wordcamp-paris-2014
Alter way-wordcamp-paris-2014
 

Similar to The code history of WordPress WordCamp Paris - 2014

2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpressshendison
 
Get Involved with WordPress
Get Involved with WordPressGet Involved with WordPress
Get Involved with WordPressMario Peshev
 
Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23BIWUG
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopValeri Karpov
 
WordPress 4.0 - What's New
WordPress 4.0 - What's NewWordPress 4.0 - What's New
WordPress 4.0 - What's NewWP Australia
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress UniversityStephanie Leary
 
LA Ember.js Meetup, Jan 2017
LA Ember.js Meetup, Jan 2017LA Ember.js Meetup, Jan 2017
LA Ember.js Meetup, Jan 2017Matthew Beale
 
Geek Moot '09 -- Keynote
Geek Moot '09 -- KeynoteGeek Moot '09 -- Keynote
Geek Moot '09 -- KeynoteTed Kulp
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsGavin Cornwell
 
WordPress Theme Reviewers Team
WordPress Theme Reviewers TeamWordPress Theme Reviewers Team
WordPress Theme Reviewers TeamMario Peshev
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and BeyondScott Taylor
 
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015Dropsolid
 
How to get your theme in WordPress
How to get your theme in WordPressHow to get your theme in WordPress
How to get your theme in WordPressNisha Singh
 
Translate word press to your language
Translate word press to your languageTranslate word press to your language
Translate word press to your languagembigul
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino DesignerPaul Withers
 
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections Nico Meisenzahl
 

Similar to The code history of WordPress WordCamp Paris - 2014 (20)

2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress2010 11 pubcon_hendison_wordpress
2010 11 pubcon_hendison_wordpress
 
Get Involved with WordPress
Get Involved with WordPressGet Involved with WordPress
Get Involved with WordPress
 
Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23
 
MEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
 
WordPress 4.0 - What's New
WordPress 4.0 - What's NewWordPress 4.0 - What's New
WordPress 4.0 - What's New
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 
BREN_ADMIN_20100729_001
BREN_ADMIN_20100729_001BREN_ADMIN_20100729_001
BREN_ADMIN_20100729_001
 
LA Ember.js Meetup, Jan 2017
LA Ember.js Meetup, Jan 2017LA Ember.js Meetup, Jan 2017
LA Ember.js Meetup, Jan 2017
 
Geek Moot '09 -- Keynote
Geek Moot '09 -- KeynoteGeek Moot '09 -- Keynote
Geek Moot '09 -- Keynote
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIs
 
WordPress Theme Reviewers Team
WordPress Theme Reviewers TeamWordPress Theme Reviewers Team
WordPress Theme Reviewers Team
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
 
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015
State of Search, Solr and Facets in Drupal 8 - Drupalcamp Belgium 2015
 
How to get your theme in WordPress
How to get your theme in WordPressHow to get your theme in WordPress
How to get your theme in WordPress
 
Translate word press to your language
Translate word press to your languageTranslate word press to your language
Translate word press to your language
 
PnP Monthly Community Call - April 2018
PnP Monthly Community Call - April 2018PnP Monthly Community Call - April 2018
PnP Monthly Community Call - April 2018
 
WordPress Workshop
WordPress WorkshopWordPress Workshop
WordPress Workshop
 
Beyond Domino Designer
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
 
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
 

More from Marko Heijnen

Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projectsMarko Heijnen
 
Security, more important than ever!
Security, more important than ever!Security, more important than ever!
Security, more important than ever!Marko Heijnen
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor StoryMarko Heijnen
 
WooCommerce & Apple TV
WooCommerce & Apple TVWooCommerce & Apple TV
WooCommerce & Apple TVMarko Heijnen
 
The moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp SofiaThe moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp SofiaMarko Heijnen
 
Mijn site beveiliging
Mijn site beveiligingMijn site beveiliging
Mijn site beveiligingMarko Heijnen
 
The moment my site got hacked
The moment my site got hackedThe moment my site got hacked
The moment my site got hackedMarko Heijnen
 
My complicated WordPress site
My complicated WordPress siteMy complicated WordPress site
My complicated WordPress siteMarko Heijnen
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescueMarko Heijnen
 
Protecting your site by detection
Protecting your site by detectionProtecting your site by detection
Protecting your site by detectionMarko Heijnen
 
GlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgGlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgMarko Heijnen
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable codeMarko Heijnen
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a proMarko Heijnen
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPressMarko Heijnen
 
Bootstrapping your plugin
Bootstrapping your pluginBootstrapping your plugin
Bootstrapping your pluginMarko Heijnen
 
The development and future of GlotPress
The development and future of GlotPressThe development and future of GlotPress
The development and future of GlotPressMarko Heijnen
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript mattersMarko Heijnen
 
Building plugins like a pro
Building plugins like a proBuilding plugins like a pro
Building plugins like a proMarko Heijnen
 
Perfect your images using WordPress - WordCamp Europe 2013
Perfect your images using WordPress - WordCamp Europe 2013Perfect your images using WordPress - WordCamp Europe 2013
Perfect your images using WordPress - WordCamp Europe 2013Marko Heijnen
 

More from Marko Heijnen (20)

Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
 
Security, more important than ever!
Security, more important than ever!Security, more important than ever!
Security, more important than ever!
 
My Contributor Story
My Contributor StoryMy Contributor Story
My Contributor Story
 
WooCommerce & Apple TV
WooCommerce & Apple TVWooCommerce & Apple TV
WooCommerce & Apple TV
 
The moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp SofiaThe moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp Sofia
 
Mijn site beveiliging
Mijn site beveiligingMijn site beveiliging
Mijn site beveiliging
 
The moment my site got hacked
The moment my site got hackedThe moment my site got hacked
The moment my site got hacked
 
My complicated WordPress site
My complicated WordPress siteMy complicated WordPress site
My complicated WordPress site
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 
Protecting your site by detection
Protecting your site by detectionProtecting your site by detection
Protecting your site by detection
 
GlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.orgGlotPress aka translate.wordpress.org
GlotPress aka translate.wordpress.org
 
Writing clean and maintainable code
Writing clean and maintainable codeWriting clean and maintainable code
Writing clean and maintainable code
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a pro
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
 
Bootstrapping your plugin
Bootstrapping your pluginBootstrapping your plugin
Bootstrapping your plugin
 
The development and future of GlotPress
The development and future of GlotPressThe development and future of GlotPress
The development and future of GlotPress
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters
 
Building plugins like a pro
Building plugins like a proBuilding plugins like a pro
Building plugins like a pro
 
Perfect your images using WordPress - WordCamp Europe 2013
Perfect your images using WordPress - WordCamp Europe 2013Perfect your images using WordPress - WordCamp Europe 2013
Perfect your images using WordPress - WordCamp Europe 2013
 
Dealing with media
Dealing with mediaDealing with media
Dealing with media
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

The code history of WordPress WordCamp Paris - 2014

  • 1. The code history of WordPress WordCamp Paris - 2014
  • 2. Who I am? • Marko Heijnen - @markoheijnen • Working at 1&1 as their WordPress specialist • WordPress core contributor • GlotPress core developer - @GlotPress • Co author of WP_Image_Editor
  • 3. Our timeline • 2003 - WordPress was founded • 2005 - WordPress 2.0 got released • 2006 - I started to use WordPress • 2010 - My first contribution to WordPress • 2012 - Recent rockstar of 3.4 • 2013 - WordPress becomes 10 • 2013 - 3.8 was the 21 major release
  • 4. January 17, 2014 at 08:07
  • 5. The first couple of years I missed
  • 6. I would say the golden years
  • 7. It was founded by Matt Mullenweg Mike Little
  • 8. It all started almost 11 years ago when Matt wrote a blog post
  • 9.
  • 12. But what were the most important changes that happened in the code?
  • 13. Post Meta When was this added to WordPress?
  • 14. 0.70 • WordPress had its first release as a fork of b2 on May 27, 2003 • A lot of code cleanups to make it more stable and faster • Functions like texturize and manual excerpt were added
  • 15. 1.0 “Miles Davis” • Search engine friendly permalinks • Multiple categories January 3, 2004
  • 16. 1.2 “Charles Mingus” • Post meta • New plugin architecture • Encryption of password • Localization • Sub categories • Thumbnail creation May 22, 2004
  • 17. The WordPress Plugin Repository • On January 10, 2005 the WordPress Plugin repository was announced • It was then on WP-Plugins.org • It was focused on Trac since it didn’t have a user friendly front-end, yet
  • 18. 1.5 “Billy Strayhorn” • The basic template engine was added • Pages was added February 17, 2005
  • 19. 2.0 “Duke Ellington” • AJAX functionality got added • Capability API • Inline uploading • User level options • Pluggable object cache • Functions.php was added • Nonces 2.0.3 December 31, 2005
  • 20. 2.1 “Ella Fitzgerald” • Autosave • All queries got checked • More AJAX • Cron API • WP_Error class was added January 22, 2007
  • 21. 2.2 “Stan Getz” • Widgets API • Started using jQuery • PHPMailer got added • Increased the inline documentation May 16, 2007
  • 22. The first unit tests got September 20, 2007
  • 23. 2.3 “Dexter Gordon” • Updating system • Taxonomy API got added • Canonical URLs • $wpdb->prepare() • Activation protection • Restructure of wp-admin folder September 24, 2007
  • 24. 2.5 “Michael Brecker” • Shortcode API • Multi-file upload with March 29, 2008 progress bar • EXIF extraction • Search posts and pages • Installing/updating plugins 22 contributors
  • 25. 2.6 “McCoy Tyner” • Post Revisions • Full SSL support • Theme previews July 15, 2008 75 contributors
  • 26. 2.7 “John Coltrane” • HTTP API • Uninstall a plugin • Settings API • wp_page_menu() • Plugin installer • WordPress upgrader December 10, 2008 144 contributors
  • 27. 2.8 “Chet Baker” • New Widgets API • HTTP API updates and fixes • Search/Install themes June 11, 2009
  • 28. 2.9 “Carmen McRae” • Built-in image editor • Post thumbnails • Basic post type support • Meta data for comments • oEmbed December 18, 2009 140> contributors
  • 29. 3.0 “Thelonious Monk” • WordPress MU merged • Custom menus • Custom post type support • Lots of other improvements June 17, 2010 218 contributors
  • 30.
  • 31. 3.1 “Django Reinhardt” • Admin bar • WP_User_Query • Advanced queries • List-type Admin Screens February 23, 2011 180> contributors
  • 32. 3.2 “George Gershwin” • Moved to PHP 5 and MySQL 5 • Speed improvements • WP_Meta_Query July 4, 2011 133 contributors
  • 33. 3.3 “Sonny Stitt” • New editor API • Post-slug-only permalinks • is_main_query() • WP_Screen • Metadata API improvements December 12, 2011 179 contributors
  • 34. 3.4 “Grant Green” • Theme customizer • wp.* XML-RPC methods • WP_Theme June 13, 2012 183 contributors
  • 36. 3.5 “Elvin Jones” • WP_Image_Editor • switch_to_blog() • Underscore/Backbone • WP_Comment_Query and December 11, 2012 WP_User_Query excepting meta queries 260 contributors
  • 37. 3.5 “Elvin Jones” • WP_Post • Ordering by post__in • AJAX support functions like December 11, 2012 wp_send_json_success() 260 contributors
  • 38. 3.6 “Oscar Peterson” • Audio/Video support • Better control for revisions • has_shortcode() • Heartbeat API August 1, 2013 225 contributors
  • 39. 3.7 “Count Basie” • Automattic updates • Stronger passwords • Language packs • Cleanup tickets • Better documentation • Improved Search • Date queries October 24, 2013 211 contributors
  • 40. 3.8 “Charlie Parker” • Heartbeat performance and December 12, 2013 API improvements • Nginx detection • automatic_updates_complete 188 Contributors
  • 45. Our tools • Official GIT mirrors • Grunt • JSHint • Unit testing PHP and JS • Minification • Sass
  • 46. The future • 2014 looks like a great year for new API features like: • WP API • Media improvements • Post Meta library • More see: http://make.wordpress.org/ core/features-as-plugins/
  • 47. WPCentral.io • @WPCentralio • Work in progress • If you like to see this information back in a interactive way • Currently building the features like: • Download & Version history • Timeline of features