wordpress as a cms

Post on 05-Dec-2014

3.361 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Wordpress as a CMS

Brad Touesnardhttp://bradt.cabrad@touesnard.com

BarCampVancouver2008September 27th, 2008

Not just another list of plugins

Client:“I want 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

Why not a CMS?

Joomla

ExpressionEngine

Mambo

Drupal

Ez Publish

Typo3

bitweaver

XOOPS

Why not a CMS?

Joomla

ExpressionEngine

Mambo

Drupal

Ez Publish

Typo3

bitweaver

XOOPS

Wordpress is a CMS!

Why not a CMS?

Joomla

ExpressionEngine

Mambo

Drupal

Ez Publish

Typo3

bitweaver

XOOPS

Wordpress is a CMS!

and it’s better...

Why is it better?

Backend Interface

• Designed by usability experts at Happy Cog

• Clean, Standards Compliant XHTML filters

• Flawless WYSIWYG Integration

• Easy media uploading and embedding

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.

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'][0])) {

echo $custom['feature_story'][0];

}

Limitations ofCustom 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

POST(12)

POST(14)

POST(58)

Feature Story: 14

Quick Facts: 58

Relationships with Custom Fields:

Benefits

• Users can edit using the WYSIWYG

• We can feature posts on several pages without copying

GoHave1.com:

Retrieving aFeature Story

$custom = get_post_custom();

if (isset($custom['feature_story'][0])) {

$id = $custom['feature_story'][0];

$story =& get_post($id);

}

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

)

Relationships with Custom Fields:

Problems

Usability nightmare!

A. Posts that aren’t posts

B. Managing post IDs

“You want me to do what??”

FutureImprovements

Problem A:Posts that aren’t posts

Solution:

Develop a new post type called ‘element’

Won’t show up in post lists

Problem B:Managing Post IDs

Solution:

Simple post selection interface

Add panel below Categories

Include posts of type ‘element’

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!

top related