Top Banner
Wordpress as a CMS Brad Touesnard http://bradt.ca [email protected] BarCampVancouver2008 September 27th, 2008 Not just another list of plugins
28
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Wordpress as a CMS

Wordpress as a CMS

Brad Touesnardhttp://[email protected]

BarCampVancouver2008September 27th, 2008

Not just another list of plugins

Page 2: Wordpress as a CMS

Client:“I want a CMS.”

Page 3: Wordpress as a CMS

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

Why not a CMS?

Joomla

ExpressionEngine

Mambo

Drupal

Ez Publish

Typo3

bitweaver

XOOPS

Page 5: Wordpress as a CMS

Why not a CMS?

Joomla

ExpressionEngine

Mambo

Drupal

Ez Publish

Typo3

bitweaver

XOOPS

Wordpress is a CMS!

Page 6: Wordpress as a CMS

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

Why is it better?

Page 8: Wordpress as a CMS

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

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

Malleable

• Plugin Hooks

• Template Tags

• Backend customization

Page 11: Wordpress as a CMS

Community

• Wordpress.org

• Forums

• Documentation

• Plugins

• Themes

Page 12: Wordpress as a CMS

Challenges

Page 13: Wordpress as a CMS

Case Study: GoHave1.com

Page 14: Wordpress as a CMS

Case Study: GoHave1.com

Page 15: Wordpress as a CMS

Case Study: GoHave1.com

Page 16: Wordpress as a CMS

Case Study: GoHave1.com

Page 17: Wordpress as a CMS

Custom Fields

• Store post meta data about posts

• Author (name, location, photo, blurb)

• Feature story

• Quick facts

Page 18: Wordpress as a CMS

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

Limitations ofCustom Fields

• No WYSIWYG

• Only relates to a single post

Page 20: Wordpress as a CMS

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

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

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

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

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

FutureImprovements

Page 26: Wordpress as a CMS

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

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

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!