Your SlideShare is downloading. ×
0
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Getting Started With WordPress Development
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Getting Started With WordPress Development

7,827

Published on

A presentation from Iowa Code Camp 2010 by Kenny Younger (@kenny) and Andy Brudtkuhl (@abrudtkuhl)

A presentation from Iowa Code Camp 2010 by Kenny Younger (@kenny) and Andy Brudtkuhl (@abrudtkuhl)

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,827
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
243
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Describe each table.
  • Transcript

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

    ×