SlideShare a Scribd company logo
CSI:
Getting Into the Guts

WordCamp Birmingham, January 14, 2012
CSI:
Getting Into the Guts

WordCamp Birmingham, January 14, 2012
Version 0.5

   Please note that due to unforeseen events, I did not
    complete this slide deck to my satisfaction before
        presenting it at WordCamp Birmingham.

  I will be doing this presentation again at WordCamp
Atlanta, with an improved version of these slides. At that
    time, I will replace this presentation with the new,
   improved version which will contain more concrete
     developer information, code samples, and more
           comprehensive pointers to resources.

          Thank you for your understanding.

                                                 -- Dougal
WordPress
Rocks!
WordPress
Rocks!
Why?
Extensibility
WordPress can do just about any
freaking thing you can think of
Extensibility
Extensibility



✤   Rich developer APIs
Extensibility



✤   Rich developer APIs

✤   Themes
Extensibility



✤   Rich developer APIs

✤   Themes

✤   Plugins
API
API


✤   Application Programming
    Interface
API


✤   Application Programming
    Interface

✤   “...a source code based
    specification intended to be
    used as an interface by
    software components to
    communicate with each
    other.” – Wikipedia
What kind of APIs?

✤   Pluggable functions

✤   Hooks

    ✤   Actions and Filters

✤   Metadata

    ✤   Post meta, User meta, Comment meta, Site Options

✤   Custom Javascript and CSS
Pluggable
Functions
Login/Cookie/User info
Email notifications, wp_mail()
Security: nonces, password salts &
hashes
Avatars
Display of revision diffs
Themes


✤   Sidebars and Widgets

✤   Custom Headers and
    Backgrounds

✤   Custom Post Types and
    Taxonomies
Plugins
Plugins

✤   Plugins can do... practically anything:
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
    ✤   Extend user info
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
    ✤   Extend user info
    ✤   Use Roles & Capabilities to control access to features
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
    ✤   Extend user info
    ✤   Use Roles & Capabilities to control access to features
    ✤   Create workflows (e.g., EditFlow plugin)
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
    ✤   Extend user info
    ✤   Use Roles & Capabilities to control access to features
    ✤   Create workflows (e.g., EditFlow plugin)
    ✤   Alternative login systems (LDAP, SSO)
Plugins

✤   Plugins can do... practically anything:

    ✤   Modify posts/pages
    ✤   Integrate 3rd party data (Twitter, Facebook, etc.)
    ✤   Extend user info
    ✤   Use Roles & Capabilities to control access to features
    ✤   Create workflows (e.g., EditFlow plugin)
    ✤   Alternative login systems (LDAP, SSO)
    ✤   The sky’s the limit!
Actions
Actions are events


Use them to DO something, rather
than to CHANGE something
Actions
plugins_loaded()
setup_theme()
wp_init()
template_redirect()
wp_head()
wp_footer()
                      http://andy.wordpress.com/2008/10/30/wordpress-include-stack/
Filters
Modify existing content

<?php
add_filter( ‘the_content’, ‘lolify’ );


function lolify( $text_in ) {
     $text out = do_cool_stuff( $text_in );
     return $text_out;
}
?>
Metadata
Lets you add additional details beyond
what WordPress provides out-of-the-
box.
Metadata



✤   “Data about Data”

Lets you provide additional
details that may or may not be
visible on the site.
Putting it
together


✤   codex.wordpress.org

✤   make.wordpress.org

✤   wpdevel.wordpress.com
Who are you?


Dougal Campbell

@dougal

dougal.us /
dougal.gunters.org

dougal.campbell@gmail.com

More Related Content

What's hot (20)

KEY
WordPress Tips and Tricks (DFW Meetup)
Stephanie Leary
 
PPTX
SoCal WordPress Meetup - iWeb to WordPress aka WP99
Noel Saw
 
PDF
Wordpress Plugin Development Short Tutorial
Christos Zigkolis
 
ODP
WordPress Plugin Development For Beginners
johnpbloch
 
PDF
Step by step guide for creating wordpress plugin
Mainak Goswami
 
ODP
Don't sh** in the Pool
Chris Jean
 
PPTX
Introduction to WordPress Child Theming, WordCamp Kansas City, 2015
topher1kenobe
 
PDF
Approaches To WordPress Theme Development
Catch Themes
 
PPTX
Intro to Plugin Development, Miami WordCamp, 2015
topher1kenobe
 
PPTX
Social Media + WordPress - SoCal WP Meetup
Noel Saw
 
PPTX
WordPress 3.4 Preview
Noel Saw
 
PPTX
Building the basics (WordPress Ottawa 2014)
Christopher Ross
 
PDF
How to Jazz Up Your WordPress Site – without a lick o’ code
Kathryn Presner
 
PDF
Plugins at WordCamp Phoenix
Andrew Ryno
 
KEY
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
Kathryn Presner
 
PDF
So i have a website now what?
Michele Butcher-Jones
 
PPTX
40 WordPress Tips: Security, Engagement, SEO & Performance - SMX Sydney 2013
Bastian Grimm
 
PPTX
WordPress
risager
 
PDF
Ako na vlastne WP temy
Juraj Kiss
 
PDF
A Beginner's Guide to WordPress - Podcamp Toronto 2012
Kathryn Presner
 
WordPress Tips and Tricks (DFW Meetup)
Stephanie Leary
 
SoCal WordPress Meetup - iWeb to WordPress aka WP99
Noel Saw
 
Wordpress Plugin Development Short Tutorial
Christos Zigkolis
 
WordPress Plugin Development For Beginners
johnpbloch
 
Step by step guide for creating wordpress plugin
Mainak Goswami
 
Don't sh** in the Pool
Chris Jean
 
Introduction to WordPress Child Theming, WordCamp Kansas City, 2015
topher1kenobe
 
Approaches To WordPress Theme Development
Catch Themes
 
Intro to Plugin Development, Miami WordCamp, 2015
topher1kenobe
 
Social Media + WordPress - SoCal WP Meetup
Noel Saw
 
WordPress 3.4 Preview
Noel Saw
 
Building the basics (WordPress Ottawa 2014)
Christopher Ross
 
How to Jazz Up Your WordPress Site – without a lick o’ code
Kathryn Presner
 
Plugins at WordCamp Phoenix
Andrew Ryno
 
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
Kathryn Presner
 
So i have a website now what?
Michele Butcher-Jones
 
40 WordPress Tips: Security, Engagement, SEO & Performance - SMX Sydney 2013
Bastian Grimm
 
WordPress
risager
 
Ako na vlastne WP temy
Juraj Kiss
 
A Beginner's Guide to WordPress - Podcamp Toronto 2012
Kathryn Presner
 

Viewers also liked (20)

PPT
BuddyPress Presentation - WCPhilly
Timothy F McKenna
 
PDF
WordCamp Milwaukee 2012 - Contributing to Open Source
jclermont
 
PPT
Global Voices - Democratising the web with Wordpress and Love
Jer Clarke
 
PDF
WordPress + OAuth
Will Norris
 
PDF
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
Vinícius Lourenço
 
PDF
WordPress Community: Choose your own adventure
Andrea Middleton
 
KEY
Progressively Enhancing WordPress Themes
Digitally
 
KEY
Supporting Wordpress
masonjames
 
PPTX
Caching 101 - WordCamp OC
Eugene Kovshilovsky
 
PDF
BuddyPress @ WordCamp
apeatling
 
PPT
Wcto2012- after the install
Al Davis
 
PDF
Miglioriamo le performance di wordpress
GGDBologna
 
PDF
Builing a WordPress Theme
certainstrings
 
PDF
The Capitalist in the Co-Op: The Art & Science of the Premium WordPress Business
Shane Pearlman
 
PDF
The WordPress Project; It's all about YOU!
Denise (Dee) Teal
 
PDF
Object Oriented Programming for WordPress Plugin Development
mtoppa
 
PDF
WordCamp Nashville: Clean Code for WordPress
mtoppa
 
PDF
Maintaining Retainers as a WordPress Developer
DevinVinson
 
PPTX
10 Tips to Make WordPress Your Friend
Kerch McConlogue
 
PPTX
Getting an eCommerce Site Running in 30 Minutes
Apptivo
 
BuddyPress Presentation - WCPhilly
Timothy F McKenna
 
WordCamp Milwaukee 2012 - Contributing to Open Source
jclermont
 
Global Voices - Democratising the web with Wordpress and Love
Jer Clarke
 
WordPress + OAuth
Will Norris
 
WordCamp Rio de Janeiro 2016 - Vinícius Lourenço | Lojas Virtuais Descomplica...
Vinícius Lourenço
 
WordPress Community: Choose your own adventure
Andrea Middleton
 
Progressively Enhancing WordPress Themes
Digitally
 
Supporting Wordpress
masonjames
 
Caching 101 - WordCamp OC
Eugene Kovshilovsky
 
BuddyPress @ WordCamp
apeatling
 
Wcto2012- after the install
Al Davis
 
Miglioriamo le performance di wordpress
GGDBologna
 
Builing a WordPress Theme
certainstrings
 
The Capitalist in the Co-Op: The Art & Science of the Premium WordPress Business
Shane Pearlman
 
The WordPress Project; It's all about YOU!
Denise (Dee) Teal
 
Object Oriented Programming for WordPress Plugin Development
mtoppa
 
WordCamp Nashville: Clean Code for WordPress
mtoppa
 
Maintaining Retainers as a WordPress Developer
DevinVinson
 
10 Tips to Make WordPress Your Friend
Kerch McConlogue
 
Getting an eCommerce Site Running in 30 Minutes
Apptivo
 
Ad

Similar to CSI: WordPress -- Getting Into the Guts (20)

KEY
WordPress - Open Source Overview Presentation
Andy Stratton
 
PDF
Wordpress Plugin Development Beginners Guide Vladimir Prelovac
kentasnicsha
 
PDF
Bending word press to your will
Tom Jenkins
 
PDF
Wordpress as a framework
Aggelos Synadakis
 
PPTX
From WordPress With Love
Up2 Technology
 
PDF
Jumping Into WordPress Plugin Programming
Dougal Campbell
 
PDF
BuddyPress Groups API
apeatling
 
KEY
Intro to WordPress Plugins
zamoose
 
PDF
Using Wordpress To Create Your Website
Nicole C. Engard
 
KEY
CALM Wordpress 102
darren_puscas
 
PDF
Beginning WordPress Workshop
The Toolbox, Inc.
 
PDF
WordPress Beginners Workshop
The Toolbox, Inc.
 
PPTX
WordPress DK at DrupalCamp Copenhagen 2009
René Clausen Nielsen
 
PPT
WordPress Complete Tutorial
OpenSource Technologies Pvt. Ltd.
 
PPT
Newspapers with WordPress
Christopher Ross
 
PDF
Wordpress instruction for 675
Jennifer Riehle McFarland
 
PDF
Word press customiztion and plugins feb 2012
Jon Brown
 
PDF
Intro to WordPress Plugin Development
R-Cubed Design Forge
 
PDF
eMusic: WordPress in the Enterprise
Scott Taylor
 
PDF
Demystifying WordPress
Mykl Roventine
 
WordPress - Open Source Overview Presentation
Andy Stratton
 
Wordpress Plugin Development Beginners Guide Vladimir Prelovac
kentasnicsha
 
Bending word press to your will
Tom Jenkins
 
Wordpress as a framework
Aggelos Synadakis
 
From WordPress With Love
Up2 Technology
 
Jumping Into WordPress Plugin Programming
Dougal Campbell
 
BuddyPress Groups API
apeatling
 
Intro to WordPress Plugins
zamoose
 
Using Wordpress To Create Your Website
Nicole C. Engard
 
CALM Wordpress 102
darren_puscas
 
Beginning WordPress Workshop
The Toolbox, Inc.
 
WordPress Beginners Workshop
The Toolbox, Inc.
 
WordPress DK at DrupalCamp Copenhagen 2009
René Clausen Nielsen
 
WordPress Complete Tutorial
OpenSource Technologies Pvt. Ltd.
 
Newspapers with WordPress
Christopher Ross
 
Wordpress instruction for 675
Jennifer Riehle McFarland
 
Word press customiztion and plugins feb 2012
Jon Brown
 
Intro to WordPress Plugin Development
R-Cubed Design Forge
 
eMusic: WordPress in the Enterprise
Scott Taylor
 
Demystifying WordPress
Mykl Roventine
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
July Patch Tuesday
Ivanti
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 

CSI: WordPress -- Getting Into the Guts

  • 1. CSI: Getting Into the Guts WordCamp Birmingham, January 14, 2012
  • 2. CSI: Getting Into the Guts WordCamp Birmingham, January 14, 2012
  • 3. Version 0.5 Please note that due to unforeseen events, I did not complete this slide deck to my satisfaction before presenting it at WordCamp Birmingham. I will be doing this presentation again at WordCamp Atlanta, with an improved version of these slides. At that time, I will replace this presentation with the new, improved version which will contain more concrete developer information, code samples, and more comprehensive pointers to resources. Thank you for your understanding. -- Dougal
  • 6. Extensibility WordPress can do just about any freaking thing you can think of
  • 8. Extensibility ✤ Rich developer APIs
  • 9. Extensibility ✤ Rich developer APIs ✤ Themes
  • 10. Extensibility ✤ Rich developer APIs ✤ Themes ✤ Plugins
  • 11. API
  • 12. API ✤ Application Programming Interface
  • 13. API ✤ Application Programming Interface ✤ “...a source code based specification intended to be used as an interface by software components to communicate with each other.” – Wikipedia
  • 14. What kind of APIs? ✤ Pluggable functions ✤ Hooks ✤ Actions and Filters ✤ Metadata ✤ Post meta, User meta, Comment meta, Site Options ✤ Custom Javascript and CSS
  • 15. Pluggable Functions Login/Cookie/User info Email notifications, wp_mail() Security: nonces, password salts & hashes Avatars Display of revision diffs
  • 16. Themes ✤ Sidebars and Widgets ✤ Custom Headers and Backgrounds ✤ Custom Post Types and Taxonomies
  • 18. Plugins ✤ Plugins can do... practically anything:
  • 19. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages
  • 20. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.)
  • 21. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.) ✤ Extend user info
  • 22. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.) ✤ Extend user info ✤ Use Roles & Capabilities to control access to features
  • 23. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.) ✤ Extend user info ✤ Use Roles & Capabilities to control access to features ✤ Create workflows (e.g., EditFlow plugin)
  • 24. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.) ✤ Extend user info ✤ Use Roles & Capabilities to control access to features ✤ Create workflows (e.g., EditFlow plugin) ✤ Alternative login systems (LDAP, SSO)
  • 25. Plugins ✤ Plugins can do... practically anything: ✤ Modify posts/pages ✤ Integrate 3rd party data (Twitter, Facebook, etc.) ✤ Extend user info ✤ Use Roles & Capabilities to control access to features ✤ Create workflows (e.g., EditFlow plugin) ✤ Alternative login systems (LDAP, SSO) ✤ The sky’s the limit!
  • 26. Actions Actions are events Use them to DO something, rather than to CHANGE something
  • 27. Actions plugins_loaded() setup_theme() wp_init() template_redirect() wp_head() wp_footer() http://andy.wordpress.com/2008/10/30/wordpress-include-stack/
  • 28. Filters Modify existing content <?php add_filter( ‘the_content’, ‘lolify’ ); function lolify( $text_in ) { $text out = do_cool_stuff( $text_in ); return $text_out; } ?>
  • 29. Metadata Lets you add additional details beyond what WordPress provides out-of-the- box.
  • 30. Metadata ✤ “Data about Data” Lets you provide additional details that may or may not be visible on the site.
  • 31. Putting it together ✤ codex.wordpress.org ✤ make.wordpress.org ✤ wpdevel.wordpress.com
  • 32. Who are you? Dougal Campbell @dougal dougal.us / dougal.gunters.org [email protected]