SlideShare uma empresa Scribd logo
1 de 34
Intro To WordPress Development Kenny Younger (@kenny) & Andy Brudtkuhl (@abrudtkuhl)
What does WordPress look like to the users? Let’s take a look!
Database
Database Schema Source: SchemaBank.com
File Structure
/ wp-admin/ wp-content/ plugins/ Each plugin usually has its own directory themes/ Each theme has its own directory uploads/ Created on first upload (default location) wp-includes/ wp-config.php
wp-config.php define('WP_ALLOW_MULTISITE', true);
Debugging made easy Debugging flags added to wp-config.php: define( 'WP_DEBUG', true ); define( 'SCRIPT_DEBUG', true ); define( 'SAVEQUERIES', true ); 	 $wpdb->queries “All” hook: add_action( 'all', create_function( '', 'var_dump( current_filter() );' ) ); Core Control Plugin:  http://wordpress.org/extend/plugins/core-control/ Dump Environment Plugin: http://wordpress.org/extend/plugins/dump_env/ Source: http://www.andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/
WordPress Themes What are themes? A way to skin WordPress
What’s In A WordPress Theme? WordPress themes are a combination of PHP, CSS, and image files Requirements: HTML CSS Some PHP
Anatomy Of A WordPress Theme
Theme Structure Index.php includes header.php Includes sidebar.php Includes footer.php
Standard Theme Architecture Homepage index.php home.php Single Post single.php Page page.php Category category.php archive.php ,[object Object]
tag.php
Search Results
search.php
404
404.php,[object Object]
The Stylesheet – style.css The comment headers in the style.css provide meta info to WP are are REQUIRED Thisstylesheet also controls the layout and design elements of your theme…
Functions.php Contains theme related functions and commonly is used to generate dynamic sidebars
The Loop If (havePosts) 	show post stuff Else 	nothing here! End if
Template Tags ,[object Object]
the_permalink()
the_content()
the_excerpt()
And more!,[object Object]
What Is A WordPress Plugin? Plugins are used to add or enhance functionalities of your WordPress site
The Plugin Directory http://wordpress.org/extend/plugins/
The Plugin API The API provides “Hooks” into WordPress No more hacking the core Made up of Actions and Filters Actions = functions triggered by events ie: Call function on user log in Filters = functions that modify information ie: Add facebook share button before post
Plugin Data Sometimes it’s necessary to store data… For large amounts, create a new database table For small amounts, use WordPress “Options” – a table with key/value pairs
Admin Menus Custom option panels for users to update settings for your plugin Adds options in WordPress Admin Dashboard
Users & Roles & Capabilities WordPress is designed to handle multiple users – from admin and editors to subscribers 5 Pre-Defined Roles Administrator Editor Author Contributor Subscriber http://codex.wordpress.org/Roles_and_Capabilities
Custom Fields Allow attaching meta-data to posts. http://www.smashingmagazine.com/2010/04/29/extend-wordpress-with-custom-fields/
Custom Post Types Used for: Real Estate Listing Event Calendar Movie Database Issue Management / Ticket System Etc.

Mais conteúdo relacionado

Mais procurados

WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)Stephanie Leary
 
WordPress A CMS for Beginners, Geeks and Those In-Between
WordPress A CMS for Beginners, Geeks and Those In-BetweenWordPress A CMS for Beginners, Geeks and Those In-Between
WordPress A CMS for Beginners, Geeks and Those In-BetweenHeidi Cool
 
Wordpress 101 - The Basics by Jack Davenport
Wordpress 101 - The Basics by Jack DavenportWordpress 101 - The Basics by Jack Davenport
Wordpress 101 - The Basics by Jack DavenportJäck Davenpørt
 
SoCal WordPress Meetup - iWeb to WordPress aka WP99
SoCal WordPress Meetup - iWeb to WordPress aka WP99SoCal WordPress Meetup - iWeb to WordPress aka WP99
SoCal WordPress Meetup - iWeb to WordPress aka WP99Noel Saw
 
Word press for beginners lesson 3 jalc fall 2015
Word press for beginners lesson 3 jalc fall 2015Word press for beginners lesson 3 jalc fall 2015
Word press for beginners lesson 3 jalc fall 2015Michele Butcher-Jones
 
Child Themes in WordPress
Child Themes in WordPressChild Themes in WordPress
Child Themes in WordPressJeff Cohan
 
WordCamp RI 2015 - Beginner WordPress Workshop
WordCamp RI 2015 - Beginner WordPress Workshop   WordCamp RI 2015 - Beginner WordPress Workshop
WordCamp RI 2015 - Beginner WordPress Workshop Ella J Designs
 
WordCamp Raleigh WordPress & Social Media Integration
WordCamp Raleigh WordPress & Social Media IntegrationWordCamp Raleigh WordPress & Social Media Integration
WordCamp Raleigh WordPress & Social Media IntegrationDigital Strategy Works LLC
 
Mastering use wordpress with post, media, plugins and themes
Mastering use wordpress with post, media, plugins and themesMastering use wordpress with post, media, plugins and themes
Mastering use wordpress with post, media, plugins and themesLuzan Baral
 
20 tips, tricks and secrets to making your WordPress website look professional
20 tips, tricks and secrets tomaking your WordPress website look professional20 tips, tricks and secrets tomaking your WordPress website look professional
20 tips, tricks and secrets to making your WordPress website look professionalMichelle Castillo
 
WordPress for beginners lesson 4 fall2015 JALC
WordPress for beginners lesson 4 fall2015 JALCWordPress for beginners lesson 4 fall2015 JALC
WordPress for beginners lesson 4 fall2015 JALCMichele Butcher-Jones
 
WordPress 3.4 Preview
WordPress 3.4 PreviewWordPress 3.4 Preview
WordPress 3.4 PreviewNoel Saw
 
WordPress
WordPressWordPress
WordPressrisager
 
Social Media + WordPress - SoCal WP Meetup
Social Media + WordPress - SoCal WP MeetupSocial Media + WordPress - SoCal WP Meetup
Social Media + WordPress - SoCal WP MeetupNoel Saw
 
Introduction wordpress
Introduction wordpressIntroduction wordpress
Introduction wordpressHall_
 

Mais procurados (20)

WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)
 
WordPress A CMS for Beginners, Geeks and Those In-Between
WordPress A CMS for Beginners, Geeks and Those In-BetweenWordPress A CMS for Beginners, Geeks and Those In-Between
WordPress A CMS for Beginners, Geeks and Those In-Between
 
Wordpress 101 - The Basics by Jack Davenport
Wordpress 101 - The Basics by Jack DavenportWordpress 101 - The Basics by Jack Davenport
Wordpress 101 - The Basics by Jack Davenport
 
SoCal WordPress Meetup - iWeb to WordPress aka WP99
SoCal WordPress Meetup - iWeb to WordPress aka WP99SoCal WordPress Meetup - iWeb to WordPress aka WP99
SoCal WordPress Meetup - iWeb to WordPress aka WP99
 
Word press for beginners lesson 3 jalc fall 2015
Word press for beginners lesson 3 jalc fall 2015Word press for beginners lesson 3 jalc fall 2015
Word press for beginners lesson 3 jalc fall 2015
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 
Child Themes in WordPress
Child Themes in WordPressChild Themes in WordPress
Child Themes in WordPress
 
WordCamp RI 2015 - Beginner WordPress Workshop
WordCamp RI 2015 - Beginner WordPress Workshop   WordCamp RI 2015 - Beginner WordPress Workshop
WordCamp RI 2015 - Beginner WordPress Workshop
 
WordCamp Raleigh WordPress & Social Media Integration
WordCamp Raleigh WordPress & Social Media IntegrationWordCamp Raleigh WordPress & Social Media Integration
WordCamp Raleigh WordPress & Social Media Integration
 
Wordpress 101
Wordpress 101Wordpress 101
Wordpress 101
 
Mastering use wordpress with post, media, plugins and themes
Mastering use wordpress with post, media, plugins and themesMastering use wordpress with post, media, plugins and themes
Mastering use wordpress with post, media, plugins and themes
 
20 tips, tricks and secrets to making your WordPress website look professional
20 tips, tricks and secrets tomaking your WordPress website look professional20 tips, tricks and secrets tomaking your WordPress website look professional
20 tips, tricks and secrets to making your WordPress website look professional
 
WordPress for beginners lesson 4 fall2015 JALC
WordPress for beginners lesson 4 fall2015 JALCWordPress for beginners lesson 4 fall2015 JALC
WordPress for beginners lesson 4 fall2015 JALC
 
Wordpress
WordpressWordpress
Wordpress
 
The Genius of Wordpress - notes
The Genius of Wordpress - notesThe Genius of Wordpress - notes
The Genius of Wordpress - notes
 
WordPress 3.4 Preview
WordPress 3.4 PreviewWordPress 3.4 Preview
WordPress 3.4 Preview
 
WordPress
WordPressWordPress
WordPress
 
Social Media + WordPress - SoCal WP Meetup
Social Media + WordPress - SoCal WP MeetupSocial Media + WordPress - SoCal WP Meetup
Social Media + WordPress - SoCal WP Meetup
 
WordPress101 ppt
WordPress101 pptWordPress101 ppt
WordPress101 ppt
 
Introduction wordpress
Introduction wordpressIntroduction wordpress
Introduction wordpress
 

Semelhante a Getting Started With WordPress Development

WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practicesmarkparolisi
 
Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011David Carr
 
Developing WordPress Plugins
Developing WordPress PluginsDeveloping WordPress Plugins
Developing WordPress Pluginsrebelpixel
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsTomAuger
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteBrendan Sera-Shriar
 
Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10boonebgorges
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress PluginBrad Williams
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentBrad Williams
 
The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme EnlightenmentAmanda Giles
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Paul Bearne
 
Week 7 introduction to theme development
Week 7   introduction to theme developmentWeek 7   introduction to theme development
Week 7 introduction to theme developmenthenri_makembe
 
WordPress Café: Using WordPress as a Framework
WordPress Café: Using WordPress as a FrameworkWordPress Café: Using WordPress as a Framework
WordPress Café: Using WordPress as a FrameworkExove
 
How Not to Build a WordPress Plugin
How Not to Build a WordPress PluginHow Not to Build a WordPress Plugin
How Not to Build a WordPress PluginWill Norris
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017Amanda Giles
 
WordPress as a Content Management System
WordPress as a Content Management SystemWordPress as a Content Management System
WordPress as a Content Management SystemValent Mustamin
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress developmentSteve Mortiboy
 
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress ThemesPhilip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress ThemesPhilip Arthur Moore
 
WordPress Plugin development
WordPress Plugin developmentWordPress Plugin development
WordPress Plugin developmentMostafa Soufi
 
WordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscWordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscDavid Bisset
 

Semelhante a Getting Started With WordPress Development (20)

WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practices
 
Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011Introduction to Plugin Programming, WordCamp Miami 2011
Introduction to Plugin Programming, WordCamp Miami 2011
 
Developing WordPress Plugins
Developing WordPress PluginsDeveloping WordPress Plugins
Developing WordPress Plugins
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big words
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media Institute
 
Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10Wordpress Meetup 2 23 10
Wordpress Meetup 2 23 10
 
Creating Your First WordPress Plugin
Creating Your First WordPress PluginCreating Your First WordPress Plugin
Creating Your First WordPress Plugin
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin Development
 
The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme Enlightenment
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919
 
Week 7 introduction to theme development
Week 7   introduction to theme developmentWeek 7   introduction to theme development
Week 7 introduction to theme development
 
WordPress Café: Using WordPress as a Framework
WordPress Café: Using WordPress as a FrameworkWordPress Café: Using WordPress as a Framework
WordPress Café: Using WordPress as a Framework
 
How Not to Build a WordPress Plugin
How Not to Build a WordPress PluginHow Not to Build a WordPress Plugin
How Not to Build a WordPress Plugin
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017
 
WordPress as a Content Management System
WordPress as a Content Management SystemWordPress as a Content Management System
WordPress as a Content Management System
 
The WordPress Way
The WordPress WayThe WordPress Way
The WordPress Way
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress ThemesPhilip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
 
WordPress Plugin development
WordPress Plugin developmentWordPress Plugin development
WordPress Plugin development
 
WordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscWordPress Theme Workshop: Misc
WordPress Theme Workshop: Misc
 

Último

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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
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
 

Último (20)

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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
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
 

Getting Started With WordPress Development

  • 1. Intro To WordPress Development Kenny Younger (@kenny) & Andy Brudtkuhl (@abrudtkuhl)
  • 2. What does WordPress look like to the users? Let’s take a look!
  • 4. Database Schema Source: SchemaBank.com
  • 6. / wp-admin/ wp-content/ plugins/ Each plugin usually has its own directory themes/ Each theme has its own directory uploads/ Created on first upload (default location) wp-includes/ wp-config.php
  • 8. Debugging made easy Debugging flags added to wp-config.php: define( 'WP_DEBUG', true ); define( 'SCRIPT_DEBUG', true ); define( 'SAVEQUERIES', true ); $wpdb->queries “All” hook: add_action( 'all', create_function( '', 'var_dump( current_filter() );' ) ); Core Control Plugin: http://wordpress.org/extend/plugins/core-control/ Dump Environment Plugin: http://wordpress.org/extend/plugins/dump_env/ Source: http://www.andrewnacin.com/2010/04/23/5-ways-to-debug-wordpress/
  • 9. WordPress Themes What are themes? A way to skin WordPress
  • 10. What’s In A WordPress Theme? WordPress themes are a combination of PHP, CSS, and image files Requirements: HTML CSS Some PHP
  • 11. Anatomy Of A WordPress Theme
  • 12. Theme Structure Index.php includes header.php Includes sidebar.php Includes footer.php
  • 13.
  • 17. 404
  • 18.
  • 19. The Stylesheet – style.css The comment headers in the style.css provide meta info to WP are are REQUIRED Thisstylesheet also controls the layout and design elements of your theme…
  • 20. Functions.php Contains theme related functions and commonly is used to generate dynamic sidebars
  • 21. The Loop If (havePosts) show post stuff Else nothing here! End if
  • 22.
  • 26.
  • 27. What Is A WordPress Plugin? Plugins are used to add or enhance functionalities of your WordPress site
  • 28. The Plugin Directory http://wordpress.org/extend/plugins/
  • 29. The Plugin API The API provides “Hooks” into WordPress No more hacking the core Made up of Actions and Filters Actions = functions triggered by events ie: Call function on user log in Filters = functions that modify information ie: Add facebook share button before post
  • 30. Plugin Data Sometimes it’s necessary to store data… For large amounts, create a new database table For small amounts, use WordPress “Options” – a table with key/value pairs
  • 31. Admin Menus Custom option panels for users to update settings for your plugin Adds options in WordPress Admin Dashboard
  • 32. Users & Roles & Capabilities WordPress is designed to handle multiple users – from admin and editors to subscribers 5 Pre-Defined Roles Administrator Editor Author Contributor Subscriber http://codex.wordpress.org/Roles_and_Capabilities
  • 33. Custom Fields Allow attaching meta-data to posts. http://www.smashingmagazine.com/2010/04/29/extend-wordpress-with-custom-fields/
  • 34. Custom Post Types Used for: Real Estate Listing Event Calendar Movie Database Issue Management / Ticket System Etc.
  • 35. Custom Post Type Options label singular_label description public – query-able from public? menu_position menu_icon hierarchical query_var capability_type – permissions supports rewrite taxonomies register_meta_box_cb permalink_epmask
  • 36. Custom Post Types – Integration with the loop <?php $loop = new WP_Query( array( 'post_type' => my_custom_post_type', 'posts_per_page' => 10 ) ); ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <?phpthe_title( '<h2 class="entry-title"><a href="' . get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . '" rel="bookmark">', '</a></h2>' ); ?> <div class="entry-content"> <?phpthe_content(); ?> </div> <?phpendwhile; ?>
  • 37. Taxonomies What are taxonomies? register_taxonomy() Shows up in menu system Demo register_taxonomy( 'actor', 'post', array( 'hierarchical' => false, 'label' => __('Actors', 'series'), 'query_var' => 'actor', 'rewrite' => array( 'slug' => 'actors' ) ) );
  • 38. Core Development Versioning 0.1 increments Based on time, not features Generally every 5-6 months 0.0.1 – usually security fixes, other small bug fixes Always update!! Mailing lists: http://codex.wordpress.org/Mailing_Lists Trac: http://core.trac.wordpress.org
  • 39. Resources Planet - planet.wordpress.org WordPress Codex – codex.wordpress.org WordPress Forums – wordpress.org/support All Things WordPress- wordpress.alltop.com Core Development Blog – devel.wordpress.org
  • 40. August 7th, Downtown Des Moines Public Library
  • 41. Thanks!!! Kenny Younger (@kenny) & Andy Brudtkuhl (@abrudtkuhl)

Notas do Editor

  1. Describe each table.