Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Wordpress as a CMS
  Not just another list of plugins

                      Brad Touesnard
                      http://b...
Client:
“I want a CMS.”
Why not a framework?
• Need to design a backend
 •   Usability

• Need to code a backend
     •   Difficult problems (WYSIW...
Why not a CMS?

Joomla                          Ez Publish
               Mambo
                              Typo3
XOOPS
...
Why not a CMS?

Joomla                          Ez Publish
               Mambo
  Wordpress is a CMS!         Typo3
XOOPS
...
Why not a CMS?

Joomla                        Ez Publish
             Mambo
  Wordpress is a CMS!       Typo3
XOOPS


    ...
Why is it better?
Backend Interface

• Designed by usability experts at Happy Cog
• Clean, Standards Compliant XHTML filters
• Flawless WYSIW...
Wordpress.com
• Very popular
 •   #29 trafficed site in the US (via Quantcast)
 •   Alexa Rank: 29
 •   4,209,042 blogs, 15...
Malleable

• Plugin Hooks
• Template Tags
• Backend customization
Community

• Wordpress.org
 • Forums
 • Documentation
 • Plugins
 • Themes
Challenges
Case Study:
GoHave1.com
Case Study:
GoHave1.com
Case Study:
GoHave1.com
Case Study:
GoHave1.com
Custom Fields

• Store post meta data about posts
 • Author (name, location, photo, blurb)
 • Feature story
 • Quick facts
GoHave1.com:
          Displaying a
         Feature Story
$custom = get_post_custom();
if (isset($custom['feature_story']...
Limitations of
Custom Fields

 • No WYSIWYG
 • Only relates to a
   single post
Create Relationships
 with Custom Fields
• Store related post ID in custom field
• Retrieve related post using the post ID
...
Relationships with Custom Fields:
             Benefits

• Users can edit using the WYSIWYG
• We can feature posts on sever...
GoHave1.com:
          Retrieving a
         Feature Story
$custom = get_post_custom();
if (isset($custom['feature_story']...
print_r($story);
stdClass Object
(
    [ID] => 23
    [post_author] => 1
    [post_date] => 2008-03-25 14:48:37
    [post_...
Relationships with Custom Fields:
             Problems
                               “You want me
 Usability nightmare! ...
Future
Improvements
Problem A:
Posts that aren’t posts
              Solution:
Develop a new post type called ‘element’
      Won’t show up in...
Problem B:
Managing Post IDs

          Solution:
 Simple post selection interface
  Add panel below Categories
 Include p...
Final Thoughts

• Wordpress is not for every situation
 • Only 90% of them
• As for the other 10%...
 • Frameworks might w...
Upcoming SlideShare
Loading in …5
×

Wordpress as a CMS

2,647 views

Published on

Published in: Technology, Business
  • Be the first to comment

Wordpress as a CMS

  1. 1. Wordpress as a CMS Not just another list of plugins Brad Touesnard http://bradt.ca brad@touesnard.com BarCampVancouver2008 September 27th, 2008
  2. 2. Client: “I want a CMS.”
  3. 3. Why not a framework? • Need to design a backend • Usability • Need to code a backend • Difficult problems (WYSIWYG integration, file upload, content filters, etc) • Security • Quality assurance
  4. 4. Why not a CMS? Joomla Ez Publish Mambo Typo3 XOOPS bitweaver Expression Engine Drupal
  5. 5. Why not a CMS? Joomla Ez Publish Mambo Wordpress is a CMS! Typo3 XOOPS bitweaver Expression Engine Drupal
  6. 6. Why not a CMS? Joomla Ez Publish Mambo Wordpress is a CMS! Typo3 XOOPS and it’s better... Expression bitweaver Engine Drupal
  7. 7. Why is it better?
  8. 8. Backend Interface • Designed by usability experts at Happy Cog • Clean, Standards Compliant XHTML filters • Flawless WYSIWYG Integration • Easy media uploading and embedding
  9. 9. Wordpress.com • Very popular • #29 trafficed site in the US (via Quantcast) • Alexa Rank: 29 • 4,209,042 blogs, 153,086 new posts, 37,653,000 words today* • Tons of user feedback • An easy to sell to clients • Corporate support: Automattic *All stats on this slide were recorded September 24th, 2008.
  10. 10. Malleable • Plugin Hooks • Template Tags • Backend customization
  11. 11. Community • Wordpress.org • Forums • Documentation • Plugins • Themes
  12. 12. Challenges
  13. 13. Case Study: GoHave1.com
  14. 14. Case Study: GoHave1.com
  15. 15. Case Study: GoHave1.com
  16. 16. Case Study: GoHave1.com
  17. 17. Custom Fields • Store post meta data about posts • Author (name, location, photo, blurb) • Feature story • Quick facts
  18. 18. GoHave1.com: Displaying a Feature Story $custom = get_post_custom(); if (isset($custom['feature_story'][0])) { echo $custom['feature_story'][0]; }
  19. 19. Limitations of Custom Fields • No WYSIWYG • Only relates to a single post
  20. 20. Create Relationships with Custom Fields • Store related post ID in custom field • Retrieve related post using the post ID POST (12) POST Feature Story: 14 (14) POST Quick Facts: 58 (58)
  21. 21. Relationships with Custom Fields: Benefits • Users can edit using the WYSIWYG • We can feature posts on several pages without copying
  22. 22. GoHave1.com: Retrieving a Feature Story $custom = get_post_custom(); if (isset($custom['feature_story'][0])) { $id = $custom['feature_story'][0]; $story =& get_post($id); }
  23. 23. print_r($story); stdClass Object ( [ID] => 23 [post_author] => 1 [post_date] => 2008-03-25 14:48:37 [post_date_gmt] => 2008-03-25 22:48:37 [post_content] => I never entertained the idea... [post_title] => Jo Krombholz's Story [post_category] => 0 [post_excerpt] => I never entertained the idea... [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => jo-krombholz [to_ping] => [pinged] => [post_modified] => 2008-04-29 12:08:40 [post_modified_gmt] => 2008-04-29 20:08:40 [post_content_filtered] => [post_parent] => 0 [guid] => http://gohave1.com/archives/augue-ipsum-orci-dolor-interdum-enim/ [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 1 [ancestors] => Array )
  24. 24. Relationships with Custom Fields: Problems “You want me Usability nightmare! to do what??” A. Posts that aren’t posts B. Managing post IDs
  25. 25. Future Improvements
  26. 26. Problem A: Posts that aren’t posts Solution: Develop a new post type called ‘element’ Won’t show up in post lists
  27. 27. Problem B: Managing Post IDs Solution: Simple post selection interface Add panel below Categories Include posts of type ‘element’
  28. 28. Final Thoughts • Wordpress is not for every situation • Only 90% of them • As for the other 10%... • Frameworks might work for you • Write it from scratch!

×