Beyond Posts and Pages: Structured Content in WordPress

John Eckman
John EckmanCEO at 10up
#CMSX #ChunkyWP@jeckman
Beyond Posts & Pages:
Structured Content in
WordPress
John Eckman
ISITE Design | CMS Myth
#CMSX #ChunkyWP@jeckman
2
http://www.isitedesign.com/
#CMSX #ChunkyWP@jeckman
3
http://delight.us/
#CMSX #ChunkyWP@jeckman
4
http://www.cmsmyth.com/
#CMSX #ChunkyWP@jeckman
Shirts!
5
#CMSX #ChunkyWP@jeckman
Shirts
First five people to tweet:
“Learning how to make WordPress
Chunky with @jeckman at #cmsx
#chunkyWP”
6
#CMSX #ChunkyWP@jeckman
Agenda
• Why do we need structured content?
• How does WordPress do it?
– Metadata
– Custom Post Types
– Custom Taxonomies
• Examples
– Basic: Slides, Alerts
– Complex: Stories
• Notes
– Search
– Controlling display
– Relationships
7
#CMSX #ChunkyWP@jeckman
Content Strategy 201
8
#CMSX #ChunkyWP@jeckman
Adaptive Content
Five Key Elements of Adaptive
Content:
1.Reusable content
– Content developed to maximize reuse
– Different formats/types available
1.Structured content
– Discrete chunks can be combined in
different ways on different platforms
9
http://www.abookapart.com/products/content-strategy-for-mobile
#CMSX #ChunkyWP@jeckman
Adaptive Content, Cont’d
3. Presentation-independent content
– Design decisions made by platform
based on rules, not by authors
3. Meaningful metadata
– Metadata which can be used by the
platform to drive presentation rules
3. Usable CMS interfaces
– UI and workflow to encourage well
structured and metadata-enhanced
content
10
#CMSX #ChunkyWP@jeckman
WordPress Blobs
11
#CMSX #ChunkyWP@jeckman
Getting chunkier
12
#CMSX #ChunkyWP@jeckman
WordPress Chunks
To enhance structured content in
WordPress, we need more:
•Custom Post Types
– Not just “pages” and “posts”
– Complex content types
•Custom Taxonomies
– Sort, categorize, relate
•Custom Meta Data
– More boxes for granular data
13
#CMSX #ChunkyWP@jeckman
Example: Alerts
14
#CMSX #ChunkyWP@jeckman
Example: Alerts
15
#CMSX #ChunkyWP@jeckman
Code Example (Simple)
16
http://codex.wordpress.org/Function_Reference/register_post_type
#CMSX #ChunkyWP@jeckman
Code
17
Key is register_post_type
Arguments passed control:
•What to call it (Labels)
•Where to show it
– Public, Show UI, Searchable,
has_archive
– Menu position
•Who can use it (capabilities)
•What it includes (supports)
http://codex.wordpress.org/Function_Reference/r
egister_post_type
#CMSX #ChunkyWP@jeckman
Example: Slides
18
http://jleuze.com/plugins/meteor-slides/
#CMSX #ChunkyWP@jeckman
Example: Meteor Slides
19
#CMSX #ChunkyWP@jeckman
Code
20
http://jleuze.com/plugins/meteor-slides/
#CMSX #ChunkyWP@jeckman
Code (Cont’d)
21
#CMSX #ChunkyWP@jeckman
More Complex Example
• Client: Generation Citizen
• Custom Post Type for “Stories”
• Secondary HTML Areas
• Custom Taxonomies: Locations,
Topics
• Custom Metadata
• Attachments
22
#CMSX #ChunkyWP@jeckman
Demo – Stories page
23
#CMSX #ChunkyWP@jeckman
Secondary HTML Areas
24
http://wordpress.org/exten
d/plugins/secondary-html-
content/
#CMSX #ChunkyWP@jeckman
Secondary HTML areas
25
#CMSX #ChunkyWP@jeckman
Taxonomies
Custom Post Types can be further
enhanced with custom Taxonomies
In this case that means:
•Register Taxonomy
•Show custom meta box
•Save on submit
26
#CMSX #ChunkyWP@jeckman
27
Here we have a custom post type for
“Stories” with two custom taxonomies:
Locations and Topics
Here we have a custom post type for
“Stories” with two custom taxonomies:
Locations and Topics
#CMSX #ChunkyWP@jeckman
28
These Meta Boxes enable selection of
Location / Topic from a pre-defined set
These Meta Boxes enable selection of
Location / Topic from a pre-defined set
#CMSX #ChunkyWP@jeckman
Custom Taxonomy Code
29 http://codex.wordpress.org/Function_Reference/register_taxonomy
#CMSX #ChunkyWP@jeckman
Show Custom Meta Box
30
#CMSX #ChunkyWP@jeckman
Style Locations Box
31
#CMSX #ChunkyWP@jeckman
Save on Submit
32
#CMSX #ChunkyWP@jeckman
33
We’ve also got custom meta data here for:
•Pull Quote
•School
•Teacher
•Democracy Coaches
#CMSX #ChunkyWP@jeckman
Custom Meta Boxes
• Process for these other meta boxes
is similar:
– add_meta_box() passed a styling
function
– style function outputs the html
needed
– save function added to save_post
action
– update_post_meta to store
34
#CMSX #ChunkyWP@jeckman
Attachments
35
http://wordpress.org/ex
tend/plugins/attachme
nts/
#CMSX #ChunkyWP@jeckman
Notes
• Search
– WordPress search does not search
custom post meta data
– This means secondary html areas
– http://wordpress.org/extend/plugins/relevan
or other search
• Display
– You’ve customized the content so you
can’t rely on <?php the_content() ?>
36
#CMSX #ChunkyWP@jeckman
Notes
37
#CMSX #ChunkyWP@jeckman
Q & A
• Model content first
• Find the tradeoff
– More structure = more complexity
– Less structure = less flexibility
• Focus on goals – why before how
• Go forth and structure content!
38
#CMSX #ChunkyWP@jeckman
39
Thank you.
John Eckman
ISITE Design | CMS Myth
www.isitedesign.com
www.cmsmyth.com
@jeckman
#CMSX #ChunkyWP@jeckman
Resources
• Plugins
– http://wordpress.org/extend/plugins/a
dvanced-custom-fields/
– http://wordpress.org/extend/plugins/c
ustom-content-type-manager/
– http://wordpress.org/extend/plugins/t
ypes/ (part of premium toolset)
– http://wordpress.org/extend/plugins/c
ustom-post-type-ui/
40
#CMSX #ChunkyWP@jeckman
Resources
• Plugins
– http://wordpress.org/extend/plugins/p
osts-to-posts/
• Tools
– http://generatewp.com/post-type/
41
1 of 41

Recommended

How veterans can maximize their transition to the civilian workforce alan s... by
How veterans can maximize their transition to the civilian workforce   alan s...How veterans can maximize their transition to the civilian workforce   alan s...
How veterans can maximize their transition to the civilian workforce alan s...Alan Scheik
105 views12 slides
Beyond Posts & Pages - Structured Content in WordPress by
Beyond Posts & Pages - Structured Content in WordPressBeyond Posts & Pages - Structured Content in WordPress
Beyond Posts & Pages - Structured Content in WordPressJohn Eckman
13.5K views41 slides
Structured Data in WordPress by
Structured Data in WordPressStructured Data in WordPress
Structured Data in WordPressrandyhoyt
6K views68 slides
Wordcamp Phoenix 2012 - Custom Post Types: Now What? By Cody Helgeson by
Wordcamp Phoenix 2012 - Custom Post Types: Now What? By Cody HelgesonWordcamp Phoenix 2012 - Custom Post Types: Now What? By Cody Helgeson
Wordcamp Phoenix 2012 - Custom Post Types: Now What? By Cody HelgesonCody Helgeson
2.3K views28 slides
Custom Post Types in Depth at WordCamp Montreal by
Custom Post Types in Depth at WordCamp MontrealCustom Post Types in Depth at WordCamp Montreal
Custom Post Types in Depth at WordCamp MontrealJoey Kudish
3.7K views34 slides
Why the heck isnt word press a cms by
Why the heck isnt word press a cmsWhy the heck isnt word press a cms
Why the heck isnt word press a cmsJohn Eckman
2K views30 slides

More Related Content

More from John Eckman

Don't fear the block: Gutenberg is gettin' good by
Don't fear the block: Gutenberg is gettin' goodDon't fear the block: Gutenberg is gettin' good
Don't fear the block: Gutenberg is gettin' goodJohn Eckman
917 views43 slides
#NoStalking: Advertising & User Privacy by
#NoStalking: Advertising & User Privacy#NoStalking: Advertising & User Privacy
#NoStalking: Advertising & User PrivacyJohn Eckman
1.3K views24 slides
There's a Reason We Call Them Institutions: Working in Higher Education Witho... by
There's a Reason We Call Them Institutions: Working in Higher Education Witho...There's a Reason We Call Them Institutions: Working in Higher Education Witho...
There's a Reason We Call Them Institutions: Working in Higher Education Witho...John Eckman
338 views21 slides
Working the Open: Open Source in an Agency by
Working the Open: Open Source in an AgencyWorking the Open: Open Source in an Agency
Working the Open: Open Source in an AgencyJohn Eckman
492 views38 slides
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By Design by
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By DesignGDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By Design
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By DesignJohn Eckman
2.9K views35 slides
The Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg by
The Blob, the Chunk, & the Block: Structured Content in the Age of GutenbergThe Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg
The Blob, the Chunk, & the Block: Structured Content in the Age of GutenbergJohn Eckman
794 views57 slides

More from John Eckman(20)

Don't fear the block: Gutenberg is gettin' good by John Eckman
Don't fear the block: Gutenberg is gettin' goodDon't fear the block: Gutenberg is gettin' good
Don't fear the block: Gutenberg is gettin' good
John Eckman917 views
#NoStalking: Advertising & User Privacy by John Eckman
#NoStalking: Advertising & User Privacy#NoStalking: Advertising & User Privacy
#NoStalking: Advertising & User Privacy
John Eckman1.3K views
There's a Reason We Call Them Institutions: Working in Higher Education Witho... by John Eckman
There's a Reason We Call Them Institutions: Working in Higher Education Witho...There's a Reason We Call Them Institutions: Working in Higher Education Witho...
There's a Reason We Call Them Institutions: Working in Higher Education Witho...
John Eckman338 views
Working the Open: Open Source in an Agency by John Eckman
Working the Open: Open Source in an AgencyWorking the Open: Open Source in an Agency
Working the Open: Open Source in an Agency
John Eckman492 views
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By Design by John Eckman
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By DesignGDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By Design
GDPR FTW, or, How I Learned to Stop Worrying and Love Privacy By Design
John Eckman2.9K views
The Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg by John Eckman
The Blob, the Chunk, & the Block: Structured Content in the Age of GutenbergThe Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg
The Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg
John Eckman794 views
Taking Back What and From Whom?: Imagined Communities and Role of WordPress i... by John Eckman
Taking Back What and From Whom?: Imagined Communities and Role of WordPress i...Taking Back What and From Whom?: Imagined Communities and Role of WordPress i...
Taking Back What and From Whom?: Imagined Communities and Role of WordPress i...
John Eckman770 views
Gutenberg for Agencies by John Eckman
Gutenberg for AgenciesGutenberg for Agencies
Gutenberg for Agencies
John Eckman562 views
Engaging in Digital: Sites for Non-Profits by John Eckman
Engaging in Digital: Sites for Non-ProfitsEngaging in Digital: Sites for Non-Profits
Engaging in Digital: Sites for Non-Profits
John Eckman40.3K views
Dear Firstname Lastname: Personalization & Content Targeting by John Eckman
Dear Firstname Lastname: Personalization & Content TargetingDear Firstname Lastname: Personalization & Content Targeting
Dear Firstname Lastname: Personalization & Content Targeting
John Eckman1.1K views
But Why? Use Cases for the REST API by John Eckman
But Why? Use Cases for the REST APIBut Why? Use Cases for the REST API
But Why? Use Cases for the REST API
John Eckman2.4K views
WPDrama & The Four Agreements by John Eckman
WPDrama & The Four AgreementsWPDrama & The Four Agreements
WPDrama & The Four Agreements
John Eckman1.1K views
Distributed, not Disconnected: Employee Engagement for Remote Companies by John Eckman
Distributed, not Disconnected: Employee Engagement for Remote CompaniesDistributed, not Disconnected: Employee Engagement for Remote Companies
Distributed, not Disconnected: Employee Engagement for Remote Companies
John Eckman1.6K views
Disrupting Distribution by John Eckman
Disrupting DistributionDisrupting Distribution
Disrupting Distribution
John Eckman782 views
Managing Clients without Going Crazy by John Eckman
Managing Clients without Going CrazyManaging Clients without Going Crazy
Managing Clients without Going Crazy
John Eckman1.1K views
Stop Gathering Requirements - Start Defining Success by John Eckman
Stop Gathering Requirements - Start Defining SuccessStop Gathering Requirements - Start Defining Success
Stop Gathering Requirements - Start Defining Success
John Eckman1.1K views
Client Diplomacy: From Adversaries to Allies by John Eckman
Client Diplomacy: From Adversaries to AlliesClient Diplomacy: From Adversaries to Allies
Client Diplomacy: From Adversaries to Allies
John Eckman754 views
WordPress as a CMS Platform: Gilbane 2015 by John Eckman
WordPress as a CMS Platform: Gilbane 2015WordPress as a CMS Platform: Gilbane 2015
WordPress as a CMS Platform: Gilbane 2015
John Eckman908 views
WordPress and the Enterprise Disconnect by John Eckman
WordPress and the Enterprise DisconnectWordPress and the Enterprise Disconnect
WordPress and the Enterprise Disconnect
John Eckman2.1K views
The Future of WordPress (and Your Role In It) by John Eckman
The Future of WordPress (and Your Role In It)The Future of WordPress (and Your Role In It)
The Future of WordPress (and Your Role In It)
John Eckman1.6K views

Recently uploaded

Piloting & Scaling Successfully With Microsoft Viva by
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft VivaRichard Harbridge
12 views160 slides
AMAZON PRODUCT RESEARCH.pdf by
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdfJerikkLaureta
26 views13 slides
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
14 views1 slide
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
85 views32 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
136 views15 slides

Recently uploaded(20)

Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta26 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri16 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman33 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker37 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views

Beyond Posts and Pages: Structured Content in WordPress

Editor's Notes

  1. www.isitedesign.com
  2. Delight.us
  3. www.cmsmyth.com
  4. Why do we need structured content? If we ever hope to get to adaptive content we need structure.
  5. Arguably, by default, WordPress creates “blobs” – what does in to that big primary WYSIWYG editor is a mixture of headings, subheadings, callouts, images, and other content – but in a fully unstructured way.
  6. But we do actually have some existing metadata: Date Categories Tags Title Excerpt Post Thumbnail / Featured Image Author info (based on the logged in user). Further, media “attached” to the post are tracked as a relationship in meta and can be pulled up, including post-thumbnail.
  7. In this simple example, we get a custom post type for alerts but there isn’t really much complexity to it – otherwise it is mostly a blob. I do get to use the “date published” differently in the template
  8. Meteor slides plugin uses Custom Post Types to enable management of slideshows
  9. This is the code in the template itself – secondary html areas are mapped based on their names
  10. Example showing custom taxonomies. Here we’ve created a custom post type of “Stories” – and added two custom taxonomies, one for Location and one for Topics.
  11. Note: adding ‘ popular_items ’ =&gt; NULL, to the $labels array will suppress the “ tag cloud ” on the admin edit screen for the custom taxonomy
  12. Note we’re checking here to see if the nonce is correctly set (prevent forged form submission)
  13. Lengthy discussion about the future of WP – whether relationships between posts belongs in core or not. For now, there is the Posts2Posts plugin