wordpress as a cms
DESCRIPTION
TRANSCRIPT
![Page 1: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/1.jpg)
Wordpress as a CMS
Brad Touesnardhttp://[email protected]
BarCampVancouver2008September 27th, 2008
Not just another list of plugins
![Page 2: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/2.jpg)
Client:“I want a CMS.”
![Page 3: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/3.jpg)
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
![Page 4: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/4.jpg)
Why not a CMS?
Joomla
ExpressionEngine
Mambo
Drupal
Ez Publish
Typo3
bitweaver
XOOPS
![Page 5: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/5.jpg)
Why not a CMS?
Joomla
ExpressionEngine
Mambo
Drupal
Ez Publish
Typo3
bitweaver
XOOPS
Wordpress is a CMS!
![Page 6: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/6.jpg)
Why not a CMS?
Joomla
ExpressionEngine
Mambo
Drupal
Ez Publish
Typo3
bitweaver
XOOPS
Wordpress is a CMS!
and it’s better...
![Page 7: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/7.jpg)
Why is it better?
![Page 8: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/8.jpg)
Backend Interface
• Designed by usability experts at Happy Cog
• Clean, Standards Compliant XHTML filters
• Flawless WYSIWYG Integration
• Easy media uploading and embedding
![Page 9: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/9.jpg)
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.
![Page 10: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/10.jpg)
Malleable
• Plugin Hooks
• Template Tags
• Backend customization
![Page 11: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/11.jpg)
Community
• Wordpress.org
• Forums
• Documentation
• Plugins
• Themes
![Page 12: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/12.jpg)
Challenges
![Page 13: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/13.jpg)
Case Study: GoHave1.com
![Page 14: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/14.jpg)
Case Study: GoHave1.com
![Page 15: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/15.jpg)
Case Study: GoHave1.com
![Page 16: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/16.jpg)
Case Study: GoHave1.com
![Page 17: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/17.jpg)
Custom Fields
• Store post meta data about posts
• Author (name, location, photo, blurb)
• Feature story
• Quick facts
![Page 18: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/18.jpg)
GoHave1.com:
Displaying a Feature Story
$custom = get_post_custom();
if (isset($custom['feature_story'][0])) {
echo $custom['feature_story'][0];
}
![Page 19: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/19.jpg)
Limitations ofCustom Fields
• No WYSIWYG
• Only relates to a single post
![Page 20: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/20.jpg)
Create Relationships with Custom Fields
• Store related post ID in custom field
• Retrieve related post using the post ID
POST(12)
POST(14)
POST(58)
Feature Story: 14
Quick Facts: 58
![Page 21: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/21.jpg)
Relationships with Custom Fields:
Benefits
• Users can edit using the WYSIWYG
• We can feature posts on several pages without copying
![Page 22: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/22.jpg)
GoHave1.com:
Retrieving aFeature Story
$custom = get_post_custom();
if (isset($custom['feature_story'][0])) {
$id = $custom['feature_story'][0];
$story =& get_post($id);
}
![Page 23: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/23.jpg)
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
)
![Page 24: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/24.jpg)
Relationships with Custom Fields:
Problems
Usability nightmare!
A. Posts that aren’t posts
B. Managing post IDs
“You want me to do what??”
![Page 25: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/25.jpg)
FutureImprovements
![Page 26: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/26.jpg)
Problem A:Posts that aren’t posts
Solution:
Develop a new post type called ‘element’
Won’t show up in post lists
![Page 27: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/27.jpg)
Problem B:Managing Post IDs
Solution:
Simple post selection interface
Add panel below Categories
Include posts of type ‘element’
![Page 28: Wordpress as a CMS](https://reader035.vdocuments.mx/reader035/viewer/2022070302/548114e3b4af9fe9248b4ba7/html5/thumbnails/28.jpg)
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!