• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Customizing the custom loop   wordcamp 2012-jeff

Customizing the custom loop wordcamp 2012-jeff






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Customizing the custom loop   wordcamp 2012-jeff Customizing the custom loop wordcamp 2012-jeff Presentation Transcript

    • Welcome Customizing the Custom LoopCode: http://github.com/jmarx/Wordcamp-NYC-2012
    • Meet the guysAlexander Sapountzis Jeff Marx•Worked with • Worked with WordPress for 2 Years WordPress for 7 years•Worked at Bloomberg • Worked at Gannett Businessweek Newspapers•Hes the one with the • Not the guy from the beard Sopranos (even though he looks like him)
    • What is CBS Local? Network of local sites for news and media, consolidating CBS media content •Radio •TV •News •Original Content www.cbslocal.com
    • We use WordPress!
    • After the five-minute install • • You get a cool theme • Single Column • Sidebar ...but its boring We need to customize this so its cool!
    • What comes next?• Featured Posts• Category Boxes• Cool stuff• Not boring!
    • How do we do this? (pay attention, this will be on the test)
    • The Global Query• Runs once on every page• Returns all relevant posts based on params o Home Page Query returns all posts o Category Page Query returns all for that category o Single Post Page Query returns a single, lonely post• Global query feeds default loop o default loop is hard coded on theme template files and contains post information from the global query• This comes built into WordPress
    • WordPress does all this for free...whats the problem? Why bother with custom loops?Because you may need to:•Categorize content•use Custom Post Types•not have a boring site
    • Introduce The Loops• query_posts()• WP_Query• get_posts()Each is used in different ways, but you really only need one: WP_Query
    • query_posts()• Modifies the Global Query (thats bad)• Can cause unpredictable behavior• Will very likely be removed from WordPress (we hope soon)• Ignore tutorials that use thisRemember: using query_posts() is like trying to hammer a nail in with your forehead; painful and messy
    • get_posts()• Safer but not ideal• Limited - Not as powerful or useful• Some template tags are not includedThis is like the little brother of WP_Query. It uses WP_Query behind the scenes, but hides quite a bit from you
    • WP_Query• Returns everything you need• Template tags will work• Plays nice with the Global Query• High in fiber http://codex.wordpress.org/Class_Reference/WP_Query query_posts() and get_posts() actually use this internally, but either do other things that you dont want or won’t give you what you want. Cut out the middle man!
    • Standard LoopExamples of the standard loop (before we make it all fancy)https:// github.com/jmarx/Wordcamp-NYC-2012/blob/master
    • Custom Loop Examples Homepage: https:// github.com/jmarx/Wordcamp-NYC-2012/blob/master/twenty Sidebar: https:// github.com/jmarx/Wordcamp-NYC-2012/blob/master/twenty Page https:// github.com/jmarx/Wordcamp-NYC-2012/blob/master/twenty
    • Performance Gotchas• Use caching and transients to improve performance• Limits load by minimizing database calls• Always cache your site when using custom loops!Links:http://wordpress.org/extend/plugins/wp-super-cache/http://wordpress.org/extend/plugins/w3-total-cache/http://codex.wordpress.org/Transients_API
    • Got Questions?@jeffreymarx@asapountzisCode Samples/Resources:https://github.com/jmarx/Wordcamp-NYC-2012