WordPress Building Better Relationships

2,104 views
2,023 views

Published on

For basic content publishing needs, the ease-of-use of WordPress shines. Unfortunately, once a project exceeds 500 pages, using WordPress is much less straightforward. How has Boston University made it work? From a technical standpoint, building relationships between content objects and creating simple to use UIs for managing the relationships is key. Once established, the semantic relationships can be coupled with bits of meta data to construct menus, indexes, facets, filters, and so much more. Using code examples, this talk will highlight essential parts of the WordPress API and demonstrate various techniques used in BU plugins and themes that help us build better large websites.

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,104
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

WordPress Building Better Relationships

  1. 1. WordPress:BuildingBetterRelationships Text
  2. 2. ordPress @ BU
  3. 3. 636 sites 581 sites 342 sites 141 sites 136 sites0 sites 2007 2008 2009 2010 2011 2012
  4. 4. Total:+ 270 In-progress+ 2,323 Blogs= 3,229 Sites2007 2008 2009 2010 2011 2012
  5. 5. A range of offerings:1. Fully custom2. Quick setup3. DIY tools
  6. 6. Big sites are hard
  7. 7. What makes them hard? Lack of vision Inadequate Politics search Lack of capabilities consistency Performance Lack of clear accountability Complex work lows Team dynamics and skill Focusing on technology before understanding the problem
  8. 8. content design site tools
  9. 9. How many plugins does it take?Main Main IntegratedThird-Party BU-speci ic w/ BU appsGravity Forms BU Navigation BU CalendarWP SuperCache Access Control List BU Maps (w/ Single Sign-on)Akismet Google Search User Management ApplianceNetworks for (w/ Single Sign-on)WordPress Course Feeds Content Banner Training Manager Post Details Emergency Alert Advanced Tiny MCE Site Manager ....
  10. 10. the magic number seven +/- two*George A. Miller. "The Magical Number Seven, Plus or Minus Two: Some Limits on OurCapacity for Processing Information". The Psychological Review, 1956, vol. 63, pp.81 97.
  11. 11. CustomPost Types
  12. 12. Bene its Risks• Admin menu w/label • Not supported by all plugins• Separate templates(automatic) • More difficult to move• Separate namespace • No XML-RPC support• Easy to add • No mobile supportmetaboxes • No cross-relationship• Good performance support built-in
  13. 13. Post type registration   $supports  =  array(     title,     bu-­‐content-­‐banner,     bu-­‐post-­‐details,     comments   );   $taxonomies  =  array(     category   );   $labels  =  array(     name  =>  _x(Close-­‐ups,  post  type  general  name),     singular_name  =>  _x(Close-­‐ups,  post  type  singular   name));
  14. 14.   $args  =  array(     labels  =>  $labels,     description  =>  ,     publicly_queryable  =>  true,     exclude_from_search  =>  false,     capability_type  =>  post,     capabilities  =>  array(),     map_meta_cap  =>  null,     hierarchical  =>  false,     rewrite  =>  array(slug  =>  closeup),     has_archive  =>  false,     query_var  =>  true,     supports  =>  array(),     taxonomies  =>  $taxonomies,     show_ui  =>  true,     menu_position  =>  null,     menu_icon  =>  null,     permalink_epmask  =>  EP_PERMALINK,     can_export  =>  true,     show_in_nav_menus  =>  false,     show_in_menu  =>  true,     supports  =>  $supports   );   register_post_type(closeup,  $args);
  15. 15. Consistency vs.Freedom
  16. 16. man+ machine
  17. 17. Curation
  18. 18. Demo + CodeCode available at https://github.com/gcorne/featured-posts
  19. 19. Discovery + little surprises
  20. 20. Keyword Analysis +Relevance AlgorithmYet Another Related Posts Plugin(by) @mitcho
  21. 21. Semantic value meaningful cohesive clear substantial logical
  22. 22. Classi ication +Taxonomy
  23. 23. Taxonomy registration $args  =  array(   hierarchical  =>  false,     show_ui  =>  true,     labels  =>  array(     name  =>  Media  Types,       singular_name,  Media  Type     ),   query_var  =>  true,     rewrite  =>  true, ); register_taxonomy(media-­‐type,  array(post),  $args);
  24. 24. Simple taxonomy query $tax_q  =  array(          taxonomy  =>  media-­‐type,          field  =>  id,          terms  =>  $term_id) ); $q_args  =  array( post_type  =>  any, post_status  =>  publish, tax_query  =>  $tax_q ); $custom_q  =  WP_Query($q_args); while($custom_q-­‐>has_posts())  { $custom_q-­‐>the_post(); //  render  post  list  using  template  tags //   }
  25. 25. taxonomy usage: standard list of posts in a list of terms speci ic post term
  26. 26. taxonomy usage: ilter post list term-based ilter shorter post list
  27. 27. Up next» + mobile + work low plugin + libraries + infrastructure
  28. 28. (by)Gregory Corneliusdesign by Scott Dasse
  29. 29. Image credits"Holding Hands" —Elizabeth Buiehttp://www. lickr.com/photos/ebuie/3626180065

×