SlideShare a Scribd company logo
dotEduGuru
    Summit
    2013
WordPress Themes 101 - dotEduGuru Summit 2013
FRAMEWORKS, PARENTS & CHILDREN
•    Parent Theme
    • A base theme that sets up functionality
    • Can be extended
    • Must be written to allow overrides
•    Child Theme
    • Extends a parent theme
    • Can carry over or override elements from parent
    • Cannot be extended without plugins
•    Framework
    • Not a full theme; more of a plugin for a theme
    • Allows creation of parent and child themes with shared functionality


http://justintadlock.com/archives/2010/08/16/frameworks-parent-child-and-grandchild-themes
EXAMPLES
Hybrid Core is a framework. - http://themehybrid.com/hybrid-core
• No theme structure
• Full package goes inside parent theme
Genesis “Framework” is a parent theme -
http://www.studiopress.com/features
• Has a theme structure
• Can be used on its own
• Does not go inside of another theme
TwentyTwelve is a parent theme -
http://wordpress.org/extend/themes/twentytwelve
• Although it has less of a framework built in, same concept as Genesis
“Education” is a child theme - http://my.studiopress.com/themes/education/
• Cannot be used without Genesis (parent theme) installed
WordPress Themes 101 - dotEduGuru Summit 2013
REQUIRED FILES
CSS Stylesheet (style.css)*
• Implements the CSS for the theme
• Not included by default
   • enqueue it in functions.php or
   • use <link href=“<?php bloginfo( „stylesheet_uri‟ ) ?>”/> in <head>
• Provides base information about the theme
   • Theme name, URI, version, license, etc.
     (http://codex.wordpress.org/Theme_Development#Theme_Stylesheet)
Index (index.php)
• Implements the structure of the theme
• Can be split out into multiple files
• Acts as fallback for all pages**
* - style.css is the only file required in a child theme; all others fallback to parent theme
** - the Template Hierarchy governs which files are used for each page; index is the final fallback
TYPICAL THEME FILES
Theme Functions (functions.php)
• Central location for function, variable, constant defintions used in theme
• Included automatically by theme engine before after_setup_theme action
Default Sidebar (sidebar.php)
• Outputs default sidebar (get_sidebar())
Default WordPress Loop (loop.php)
• Not included automatically by theme
• Used to separate “the loop”*** from other structure
Comments Template (comments.php)
• List of comments and comment form; use comments_template() to include
Search (search.php)
• Search results template; automatically used on search results page
MOAR THEME FILES
Automatic Template Files (page.php, 404.php, single.php)
• Used automatically based on type of page being shown;
• Overrides index.php (see the Template Hierarchy)
Miscellaneous Files (sidebar-[slug].php, etc.)
• Include with the get_template_part( „sidebar‟, „[slug]‟ ) function
• Sidebar, header and footer files can be included with:
 • get_sidebar( ‘[slug]’ )
 • get_header( ‘[slug]’ )
 • get_footer( ‘[slug]’ )
Header and Footer (header.php, footer.php)
• Not included automatically
• Call with get_header() & get_footer()
WordPress Themes 101 - dotEduGuru Summit 2013
THE WORDPRESS TEMPLATE HIERARCHY
WordPress automatically searches for appropriate theme template file
WordPress Themes 101 - dotEduGuru Summit 2013
WHAT IS “THE LOOP”?
The Loop outputs the main content area
• Loops through all matching content objects
if ( have_posts() ) : while ( have_posts() ) : the_post();
// Output all of your content
endwhile; endif;
have_posts() and the_post()
• Global methods of main query object ($wp_query)
• have_posts() generates array of “post” objects
• the_post() sets global variables related to current post object
OTHER “LOOP” FUNCTIONS
Inside the loop, various functions are available
•   the_title() – echoes the title of the current post
•   the_content() – echoes the body of the current post
•   the_post_thumbnail() – echoes the “featured image” for current post
MOAR LOOP TIPS
If you need to use the same query loop more than once:
•   Use rewind_posts() to reset the loop to be used again
You can start your own loop with a custom query:
        $myquery = new WP_Query( ‘[query parameters go here]’ );
        if ( $myquery->have_posts() ) : while ( $myquery-
>have_posts() ) : $myquery->the_post();
                // Your custom loop stuff here
        endwhile; endif;
•   Don’t alter the global $wp_query or use query_posts() unless you know
    what you’re doing
•   Use get_posts() or create your own loop, instead
WordPress Themes 101 - dotEduGuru Summit 2013
USING CONDITIONAL FUNCTIONS
Identify where you are:
• is_home() – on the default home page (or the “posts” page if set in Settings)
• is_front_page() – on the static front page (set in Settings)
• is_admin() / is_network_admin() – anywhere in the admin area (not on the login
  page)
• is_single() / is_page() / is_attachment() / is_singular( $post_type ) –single
  content entry
• is_post_type_archive() – a list of content entries from a specific content type
• is_category() / is_tag() / is_tax() – a list of content entries with a specific
  taxonomy
• is_404() – a non-existent page
• is_search() – showing the list of search results
• is_feed() – is a structured feed (RSS, Atom, etc.)
TESTING CONDITIONS
Not just where you are, but what features are available:
• has_post_thumbnail() – whether or not the “featured image” is set
• has_excerpt() – whether a manual excerpt is set for the content
• is_active_sidebar() – whether a widgetized area (“sidebar”) has any widgets
• has_nav_menu() – whether a custom menu location has a menu assigned
• is_multisite() – whether the site is part of a multisite network
• is_plugin_active() – whether a specific plugin is active on the site
• wp_script_is() & wp_style_is() – whether a script/stylesheet has been
  registered, enqueued, printed, etc.
WordPress Themes 101 - dotEduGuru Summit 2013
MAPPING IT OUT
•    Choose what to build
    • Full theme
    • Child theme – only requires style.css; all others are optional
    • Theme based on framework – requirements differ based on framework
•    Fulfill requirements
    • style.css
    • wp_head()
    • wp_footer()
    • http://j.mp/140mlRU
•    Install and test it
    • Don‟t be afraid to split things out; use get_template_part() to include
      additional theme pieces
QUESTIONS? COMMENTS?
Twitter: @cgrymala
Website(s):    http://umw.edu/ (Multi-Network Setup)
               http://ten-321.com/
               http://svn.ten-321.com/ (SVN Repo)
Email:         cgrymala@umw.edu
               curtiss@ten-321.com
SpeakerRate:   http://spkr8.com/s/10608



                     http://about.me/cgrymala

More Related Content

PPTX
WordPress Themes 101 - HighEdWeb New England 2013
Curtiss Grymala
 
PPTX
WordPress Themes 101 - PSUWeb13 Workshop
Curtiss Grymala
 
PPTX
Writing a WordPress Theme - HighEdWeb 2013 #WRK2
Curtiss Grymala
 
PPSX
WordPress Theme Design and Development Workshop - Day 2
Mizanur Rahaman Mizan
 
KEY
What's New in WordPress 3.0 (for developers)
Stephanie Leary
 
PPTX
Wordpress theme development
Naeem Junejo
 
PPTX
Starting WordPress Theme Review
Catch Themes
 
PDF
WordPress Theming 101
Zero Point Development
 
WordPress Themes 101 - HighEdWeb New England 2013
Curtiss Grymala
 
WordPress Themes 101 - PSUWeb13 Workshop
Curtiss Grymala
 
Writing a WordPress Theme - HighEdWeb 2013 #WRK2
Curtiss Grymala
 
WordPress Theme Design and Development Workshop - Day 2
Mizanur Rahaman Mizan
 
What's New in WordPress 3.0 (for developers)
Stephanie Leary
 
Wordpress theme development
Naeem Junejo
 
Starting WordPress Theme Review
Catch Themes
 
WordPress Theming 101
Zero Point Development
 

What's hot (20)

PPTX
Design todevelop
Jason Yingling
 
PPTX
WordPress Template hierarchy
Jason Yingling
 
PDF
Turbo charged WordPress theme development - WordCamp Edinburgh 2012
Jonny Allbut
 
PDF
WordPress Template Hierarchy
Sarah Whinnem
 
PPT
WordPress Child Themes
rfair404
 
PDF
Drupal theming - a practical approach (European Drupal Days 2015)
Eugenio Minardi
 
PPTX
The WordPress University 2012
Stephanie Leary
 
PPTX
Drupal 8 theming
Priya Chatterjee
 
PDF
WordPress Theme Workshop: Part 2
David Bisset
 
PDF
flickr's architecture & php
coolpics
 
PPTX
10 Steps Not To Forget After Installing Drupal
Cory Gilliam
 
PDF
There's No Crying In Wordpress! (an intro to WP)
Grace Solivan
 
KEY
Intro To WordPress Themes
damonsharp
 
PPTX
The Flexibility of WordPress
Stephanie Eckles
 
PPTX
YAG - Yet Another Gallery / T3CON11
Daniel Lienert
 
PDF
YAG - Yet Another Gallery
Daniel Lienert
 
PPTX
WordPress Themes and Plugins
superann
 
PDF
Word press templates
Dan Phiffer
 
PPTX
Apache poi tutorial
Ramakrishna kapa
 
PDF
Wordpress and Isotope
John Lauber
 
Design todevelop
Jason Yingling
 
WordPress Template hierarchy
Jason Yingling
 
Turbo charged WordPress theme development - WordCamp Edinburgh 2012
Jonny Allbut
 
WordPress Template Hierarchy
Sarah Whinnem
 
WordPress Child Themes
rfair404
 
Drupal theming - a practical approach (European Drupal Days 2015)
Eugenio Minardi
 
The WordPress University 2012
Stephanie Leary
 
Drupal 8 theming
Priya Chatterjee
 
WordPress Theme Workshop: Part 2
David Bisset
 
flickr's architecture & php
coolpics
 
10 Steps Not To Forget After Installing Drupal
Cory Gilliam
 
There's No Crying In Wordpress! (an intro to WP)
Grace Solivan
 
Intro To WordPress Themes
damonsharp
 
The Flexibility of WordPress
Stephanie Eckles
 
YAG - Yet Another Gallery / T3CON11
Daniel Lienert
 
YAG - Yet Another Gallery
Daniel Lienert
 
WordPress Themes and Plugins
superann
 
Word press templates
Dan Phiffer
 
Apache poi tutorial
Ramakrishna kapa
 
Wordpress and Isotope
John Lauber
 
Ad

Viewers also liked (15)

PPTX
iPad technology to improve learning
Norhayati Maskat
 
PPTX
WordPress Coding Standards
Curtiss Grymala
 
PPTX
Umw WordPress Primer
Curtiss Grymala
 
PDF
Wassouf World Magazine
greatmagician
 
PPTX
Unit 6.banking
ksenichkin
 
PPTX
Lms-gogy
Norhayati Maskat
 
PPTX
Topografia Doliny Chochołowskiej
Jan Krzeptowski
 
PPTX
Ipadagogy
Norhayati Maskat
 
PPTX
10 Minute WordPress Shortcode
Curtiss Grymala
 
PPTX
WordPress Multi-Network
Curtiss Grymala
 
PPTX
Writing a WordPress Plugin: #heweb12
Curtiss Grymala
 
PPTX
Writing a WordPress Plugin
Curtiss Grymala
 
PPTX
WordPress as a CMS
Curtiss Grymala
 
PPTX
WordPress in HigherEd
Curtiss Grymala
 
PDF
The History of SEO
HubSpot
 
iPad technology to improve learning
Norhayati Maskat
 
WordPress Coding Standards
Curtiss Grymala
 
Umw WordPress Primer
Curtiss Grymala
 
Wassouf World Magazine
greatmagician
 
Unit 6.banking
ksenichkin
 
Topografia Doliny Chochołowskiej
Jan Krzeptowski
 
Ipadagogy
Norhayati Maskat
 
10 Minute WordPress Shortcode
Curtiss Grymala
 
WordPress Multi-Network
Curtiss Grymala
 
Writing a WordPress Plugin: #heweb12
Curtiss Grymala
 
Writing a WordPress Plugin
Curtiss Grymala
 
WordPress as a CMS
Curtiss Grymala
 
WordPress in HigherEd
Curtiss Grymala
 
The History of SEO
HubSpot
 
Ad

Similar to WordPress Themes 101 - dotEduGuru Summit 2013 (20)

PPTX
The Way to Theme Enlightenment 2017
Amanda Giles
 
PPTX
The Way to Theme Enlightenment
Amanda Giles
 
PPTX
Responsive themeworkshop wcneo2016
David Brattoli
 
PDF
Intro to WordPress theme development
Thad Allender
 
PDF
Theming in WordPress - Where do I Start?
Edmund Turbin
 
KEY
WordPress Child Themes
openchamp
 
PDF
WordPress Theme Workshop: Part 4
David Bisset
 
PPT
Week 7 introduction to theme development
henri_makembe
 
PPTX
Basic word press development
David Wolfpaw
 
PDF
Arizona WP - Building a WordPress Theme
certainstrings
 
PPTX
Creating Custom Templates for Joomla! 2.5
Don Cranford
 
PDF
Seven deadly theming sins
George Stephanis
 
PPTX
Theme development essentials columbus oh word camp 2012
Joe Querin
 
PPTX
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 
PDF
Builing a WordPress Theme
certainstrings
 
PPTX
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WPJoburg
 
PPTX
A11y Conference Talk: Building an Accessible WordPress Theme
TomAuger
 
PDF
Adopt or hack - how to hack a theme in a Drupal way
Marek Sotak
 
PPTX
How to get your theme in WordPress
Nisha Singh
 
PDF
Child Themes and CSS in WordPress
Matthew Vaccaro
 
The Way to Theme Enlightenment 2017
Amanda Giles
 
The Way to Theme Enlightenment
Amanda Giles
 
Responsive themeworkshop wcneo2016
David Brattoli
 
Intro to WordPress theme development
Thad Allender
 
Theming in WordPress - Where do I Start?
Edmund Turbin
 
WordPress Child Themes
openchamp
 
WordPress Theme Workshop: Part 4
David Bisset
 
Week 7 introduction to theme development
henri_makembe
 
Basic word press development
David Wolfpaw
 
Arizona WP - Building a WordPress Theme
certainstrings
 
Creating Custom Templates for Joomla! 2.5
Don Cranford
 
Seven deadly theming sins
George Stephanis
 
Theme development essentials columbus oh word camp 2012
Joe Querin
 
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 
Builing a WordPress Theme
certainstrings
 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WPJoburg
 
A11y Conference Talk: Building an Accessible WordPress Theme
TomAuger
 
Adopt or hack - how to hack a theme in a Drupal way
Marek Sotak
 
How to get your theme in WordPress
Nisha Singh
 
Child Themes and CSS in WordPress
Matthew Vaccaro
 

Recently uploaded (20)

PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PPTX
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PPTX
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
PDF
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
PPTX
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
PDF
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
PPTX
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PPTX
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Basics and rules of probability with real-life uses
ravatkaran694
 
20250924 Navigating the Future: How to tell the difference between an emergen...
McGuinness Institute
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
Command Palatte in Odoo 18.1 Spreadsheet - Odoo Slides
Celine George
 
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Continental Accounting in Odoo 18 - Odoo Slides
Celine George
 
What is CFA?? Complete Guide to the Chartered Financial Analyst Program
sp4989653
 
Five Point Someone – Chetan Bhagat | Book Summary & Analysis by Bhupesh Kushwaha
Bhupesh Kushwaha
 
Health-The-Ultimate-Treasure (1).pdf/8th class science curiosity /samyans edu...
Sandeep Swamy
 
Tips Management in Odoo 18 POS - Odoo Slides
Celine George
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
INTESTINALPARASITES OR WORM INFESTATIONS.pptx
PRADEEP ABOTHU
 

WordPress Themes 101 - dotEduGuru Summit 2013

  • 1. dotEduGuru Summit 2013
  • 3. FRAMEWORKS, PARENTS & CHILDREN • Parent Theme • A base theme that sets up functionality • Can be extended • Must be written to allow overrides • Child Theme • Extends a parent theme • Can carry over or override elements from parent • Cannot be extended without plugins • Framework • Not a full theme; more of a plugin for a theme • Allows creation of parent and child themes with shared functionality http://justintadlock.com/archives/2010/08/16/frameworks-parent-child-and-grandchild-themes
  • 4. EXAMPLES Hybrid Core is a framework. - http://themehybrid.com/hybrid-core • No theme structure • Full package goes inside parent theme Genesis “Framework” is a parent theme - http://www.studiopress.com/features • Has a theme structure • Can be used on its own • Does not go inside of another theme TwentyTwelve is a parent theme - http://wordpress.org/extend/themes/twentytwelve • Although it has less of a framework built in, same concept as Genesis “Education” is a child theme - http://my.studiopress.com/themes/education/ • Cannot be used without Genesis (parent theme) installed
  • 6. REQUIRED FILES CSS Stylesheet (style.css)* • Implements the CSS for the theme • Not included by default • enqueue it in functions.php or • use <link href=“<?php bloginfo( „stylesheet_uri‟ ) ?>”/> in <head> • Provides base information about the theme • Theme name, URI, version, license, etc. (http://codex.wordpress.org/Theme_Development#Theme_Stylesheet) Index (index.php) • Implements the structure of the theme • Can be split out into multiple files • Acts as fallback for all pages** * - style.css is the only file required in a child theme; all others fallback to parent theme ** - the Template Hierarchy governs which files are used for each page; index is the final fallback
  • 7. TYPICAL THEME FILES Theme Functions (functions.php) • Central location for function, variable, constant defintions used in theme • Included automatically by theme engine before after_setup_theme action Default Sidebar (sidebar.php) • Outputs default sidebar (get_sidebar()) Default WordPress Loop (loop.php) • Not included automatically by theme • Used to separate “the loop”*** from other structure Comments Template (comments.php) • List of comments and comment form; use comments_template() to include Search (search.php) • Search results template; automatically used on search results page
  • 8. MOAR THEME FILES Automatic Template Files (page.php, 404.php, single.php) • Used automatically based on type of page being shown; • Overrides index.php (see the Template Hierarchy) Miscellaneous Files (sidebar-[slug].php, etc.) • Include with the get_template_part( „sidebar‟, „[slug]‟ ) function • Sidebar, header and footer files can be included with: • get_sidebar( ‘[slug]’ ) • get_header( ‘[slug]’ ) • get_footer( ‘[slug]’ ) Header and Footer (header.php, footer.php) • Not included automatically • Call with get_header() & get_footer()
  • 10. THE WORDPRESS TEMPLATE HIERARCHY WordPress automatically searches for appropriate theme template file
  • 12. WHAT IS “THE LOOP”? The Loop outputs the main content area • Loops through all matching content objects if ( have_posts() ) : while ( have_posts() ) : the_post(); // Output all of your content endwhile; endif; have_posts() and the_post() • Global methods of main query object ($wp_query) • have_posts() generates array of “post” objects • the_post() sets global variables related to current post object
  • 13. OTHER “LOOP” FUNCTIONS Inside the loop, various functions are available • the_title() – echoes the title of the current post • the_content() – echoes the body of the current post • the_post_thumbnail() – echoes the “featured image” for current post
  • 14. MOAR LOOP TIPS If you need to use the same query loop more than once: • Use rewind_posts() to reset the loop to be used again You can start your own loop with a custom query: $myquery = new WP_Query( ‘[query parameters go here]’ ); if ( $myquery->have_posts() ) : while ( $myquery- >have_posts() ) : $myquery->the_post(); // Your custom loop stuff here endwhile; endif; • Don’t alter the global $wp_query or use query_posts() unless you know what you’re doing • Use get_posts() or create your own loop, instead
  • 16. USING CONDITIONAL FUNCTIONS Identify where you are: • is_home() – on the default home page (or the “posts” page if set in Settings) • is_front_page() – on the static front page (set in Settings) • is_admin() / is_network_admin() – anywhere in the admin area (not on the login page) • is_single() / is_page() / is_attachment() / is_singular( $post_type ) –single content entry • is_post_type_archive() – a list of content entries from a specific content type • is_category() / is_tag() / is_tax() – a list of content entries with a specific taxonomy • is_404() – a non-existent page • is_search() – showing the list of search results • is_feed() – is a structured feed (RSS, Atom, etc.)
  • 17. TESTING CONDITIONS Not just where you are, but what features are available: • has_post_thumbnail() – whether or not the “featured image” is set • has_excerpt() – whether a manual excerpt is set for the content • is_active_sidebar() – whether a widgetized area (“sidebar”) has any widgets • has_nav_menu() – whether a custom menu location has a menu assigned • is_multisite() – whether the site is part of a multisite network • is_plugin_active() – whether a specific plugin is active on the site • wp_script_is() & wp_style_is() – whether a script/stylesheet has been registered, enqueued, printed, etc.
  • 19. MAPPING IT OUT • Choose what to build • Full theme • Child theme – only requires style.css; all others are optional • Theme based on framework – requirements differ based on framework • Fulfill requirements • style.css • wp_head() • wp_footer() • http://j.mp/140mlRU • Install and test it • Don‟t be afraid to split things out; use get_template_part() to include additional theme pieces
  • 20. QUESTIONS? COMMENTS? Twitter: @cgrymala Website(s): http://umw.edu/ (Multi-Network Setup) http://ten-321.com/ http://svn.ten-321.com/ (SVN Repo) Email: [email protected] [email protected] SpeakerRate: http://spkr8.com/s/10608 http://about.me/cgrymala