SlideShare a Scribd company logo
1 of 41
Beyond Posts & Pages
Getting Chunky with
WordPress
WordCamp Boston 2013

#wcbos #chunky

@jeckman
#wcbos #chunky

http://www.isitedesign.com/

@jeckman
3
#wcbos #chunky

http://delight.us/

@jeckman
#wcbos #chunky

http://www.cmsmyth.com/

@jeckman
Structured Content FTW
WordPress Can COPE
What Next

#wcbos #chunky

@jeckman
Structured Content

#wcbos #chunky

@jeckman
“We don't need more content –
we need content that does more”
- Sara Wachter Boettcher

#wcbos #chunky

http://www.cmsmyth.com/2013/04/contentthat-does-more/

@jeckman
Adaptive Content
1.
2.
3.
4.
5.

Reusable content
Structured content
Presentation-independent content
Meaningful metadata
Usable CMS interfaces

#wcbos #chunky

http://www.abookapart.com/products/conten
t-strategy-for-mobile

@jeckman
Web Publishing
Content Management

#wcbos #chunky

@jeckman
“WPT’s capture content with the
primary purpose of publishing web
pages. . . . CMS’s, on the other
hand, store the content cleanly,
enabling the presentation layers to
worry about how to display the
content.”
- Daniel Jacobson
#wcbos #chunky

http://www.markboulton.co.uk/journal/adapti
ve_content_management

@jeckman
WordPress Blobs

#wcbos #chunky

@jeckman
#wcbos #chunky

@jeckman
Can WordPress COPE?

#wcbos #chunky

http://www.slideshare.net/zachbrand/npr-apicreate-once-publish-everywhere

@jeckman
We can make
WordPress
chunkier.

#wcbos #chunky

@jeckman
#wcbos #chunky

http://www.etsy.com/listing/102633258/custo
m-made-for-you-furry-monster-feet

@jeckman
Custom Post Types
Custom Taxonomies
Custom Meta Data

#wcbos #chunky

@jeckman
Example: Alerts

#wcbos #chunky

@jeckman
Example: Alerts

#wcbos #chunky

@jeckman
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)

#wcbos #chunky

@jeckman
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'alerts',
array('labels' => array(
'name' => __( 'Alerts' ),
'singular_name' => __( 'Alert' )),
'public' => true,
'has_archive' => true,
));
}
#wcbos #chunky

@jeckman
Example: Slides

#wcbos #chunky

http://wordpress.org/plugins/meteor-slides/

@jeckman
function meteorslides_register_slides() {
$meteor_labels = array(
'name'
=> __( 'Slides', 'meteor-slides' ),
'singular_name’ => __( 'Slide', 'meteor-slides' ),
'add_new'
=> __( 'Add New', 'meteor-slides' ),
'add_new_item’ => __( 'Add New Slide', 'meteor-slides' ),
'edit_item'
=> __( 'Edit Slide', 'meteor-slides' ),
'new_item'
=> __( 'New Slide', 'meteor-slides' ),
'view_item'
=> __( 'View Slide', 'meteor-slides' ),
'search_items' => __( 'Search Slides', 'meteor-slides' ),
'not_found'
=> __( 'No slides found', 'meteor-slides' ),
'not_found_in_trash' => __( 'No slides found in Trash',
'meteor-slides' ),
'parent_item_colon’ => '',
'menu_name’ => __( 'Slides', 'meteor-slides' )
);

#wcbos #chunky

@jeckman
$meteor_args = array(
'labels'
=> $meteor_labels,
'public'
=> true,
'publicly_queryable' => false,
'exclude_from_search' => true,
'show_ui'
=> true,
'show_in_menu'
=> true,
'menu_icon'
=> ''. plugins_url(
'/images/slides-icon-20x20.png', __FILE__ ),
'capability_type'
=> $meteor_capabilitytype,
'capabilities'
=> $meteor_capabilities,
'map_meta_cap'
=> $meteor_mapmetacap,
'hierarchical'
=> false,
'supports'
=> array( 'title', 'thumbnail' ),
'taxonomies'
=> array( 'slideshow' ),
'has_archive'
=> false,
'rewrite'
=> false,
'query_var'
=> true,
'can_export'
=> true,
'show_in_nav_menus'
=> false);
#wcbos #chunky

@jeckman
Custom Post Types
Custom Taxonomies
Custom Meta Data

#wcbos #chunky

@jeckman
Example: Stories

Here we have a custom post type for
“Stories” with two custom taxonomies:
Locations and Topics

#wcbos #chunky

@jeckman
These Meta Boxes enable selection of
Location / Topic from a pre-defined set

#wcbos #chunky

@jeckman
function gc_taxonomies_story_topic() {
$labels = array(
'name =>' _x( 'Topics', 'taxonomy general name' ),
'singular_name’ => _x( 'Topic’,'taxonomy singular name' ),
'search_items'
=> __( 'Search Topics' ),
'all_items'
=> __( 'All Topics' ),
'edit_item'
=> __( 'Edit Topic' ),
'update_item'
=> __( 'Update Topics' ),
'add_new_item'
=> __( 'Add New Topic' ),
'new_item_name'
=> __( 'New Topic' ),
'menu_name'
=> __( 'Topics' ),
'popular_items' => NULL, );
$args = array(
'labels' => $labels,
'hierarchical' => false,
'show_tagcloud' => false,
'show_admin_column' => true,
);
register_taxonomy( 'topic', 'story', $args );
}
#wcbos #chunky

@jeckman
add_action('admin_menu','remove_my_meta_boxen');
function remove_my_meta_boxen() {
remove_meta_box('tagsdiv-locations','story','core');
remove_meta_box('tagsdiv-topic','story','core');
}
function add_locations_box() {
add_meta_box('location_box_ID', __('Location'),
'gc_style_locations','story', 'side', 'core');
}
function add_topics_box() {
add_meta_box('topic_box_ID',__('Topic'),
'gc_style_topics', 'story', 'side', 'core');
}

#wcbos #chunky

@jeckman
function gc_style_locations($post) {
echo '<input type="hidden" name="taxonomy_noncename"
id="taxonomy_noncename" value="' .
wp_create_nonce( 'taxonomy_location' ) . '" />’;
$locations = get_terms('locations', 'hide_empty=0');
?><select name='story_locations' id='story_location’><?php
$names = wp_get_object_terms($post->ID, 'locations');
print_r($post);
?><option class='location-option' value=’’
<?php if (!count($names)) echo "selected";?>>None</option>
<?php
foreach ($locations as $location) {
if (!is_wp_error($names) && !empty($names)
&& !strcmp($location->slug, $names[0]->slug))
echo "<option class='location-option' value='" . $location->term_id
. "' selected>" . $location->name . "</option>n";
else
echo "<option class='location-option' value='" . $location->term_id
. "'>" . $location->name . "</option>n";
}
?>
</select>
<?php
}
#wcbos #chunky

@jeckman
Custom Post Types
Custom Taxonomies
Custom Meta Data

#wcbos #chunky

@jeckman
We’ve also got custom meta data here for:
• Pull Quote
• School
• Teacher
• Democracy Coaches

#wcbos #chunky

@jeckman
Custom Post Meta Boxes
• add_meta_box() passed a styling function
• style function outputs the html needed for admin
screen
• save function added to save_post action
• update_post_meta to store

#wcbos #chunky

@jeckman
function add_meta_boxen() {
add_meta_box('pullquote_box_ID',__('Quote'),
'gc_style_pullquote','story','side','core');
add_meta_box('school_box_ID',__('School'),
'gc_style_school','story','side','core');
add_meta_box('teacher_box_ID',__('Teacher'),
'gc_style_teacher','story','side','core');
add_meta_box('coaches_box_ID',__(’Coaches'),
'gc_style_coaches’,'story','side','core');
}

#wcbos #chunky

@jeckman
function save_taxonomy_data($post_id) {
// <snip>
$post = get_post($post_id);
if ($post->post_type == 'story') {
$location = $_POST['story_locations'];
wp_set_object_terms( $post_id,(int) $location,
'locations' );
}
if ($post->post_type == 'story') {
$topic = $_POST['story_topics'];
wp_set_object_terms( $post_id, (int) $topic, 'topic' );
}
update_post_meta($post_id,
update_post_meta($post_id,
update_post_meta($post_id,
update_post_meta($post_id,
}
#wcbos #chunky

'pullquote',$_POST['pullquote']);
'school', $_POST['school'] );
'teacher', $_POST['teacher'] );
'coaches', $_POST['coaches'] );

@jeckman
#wcbos #chunky

@jeckman
Chunky Via Plugins
• Custom Post Type UI
– http://wordpress.org/plugins/custom-post-type-ui/

• Custom Post Type List Shortcode
– http://wordpress.org/plugins/custom-post-type-listshortcode/

• Secondary HTML Content
– http://wordpress.org/extend/plugins/secondary-htmlcontent/

• Attachments
– http://wordpress.org/extend/plugins/attachments/
#wcbos #chunky

@jeckman
#wcbos #chunky

@jeckman
For Further Exploration
• Relationships between Posts

#wcbos #chunky

@jeckman
#wcbos #chunky

http://core.trac.wordpress.org/ticket/10657

@jeckman
For Further Exploration
• Relationships between Posts
• Display of Custom Post Types
– archive-{post_type}.php
– single-{post_type}.php

• Expanding the WordPress presentation tier
– Timber ( http://jarednova.github.io/timber/ )
– JavaScript ( see
http://www.kadamwhite.com/archives/2013/videoevolving-your-javascript-with-backbone-js )
– API (http://developer.wordpress.com/docs/api/ )
#wcbos #chunky

@jeckman
Thank You!
@jeckman

#wcbos #chunky

@jeckman

More Related Content

What's hot

Drupal Step-by-Step: How We Built Our Training Site, Part 1
Drupal Step-by-Step: How We Built Our Training Site, Part 1Drupal Step-by-Step: How We Built Our Training Site, Part 1
Drupal Step-by-Step: How We Built Our Training Site, Part 1
Acquia
 
Using jQuery to Extend CSS
Using jQuery to Extend CSSUsing jQuery to Extend CSS
Using jQuery to Extend CSS
Chris Coyier
 

What's hot (20)

Drupal Step-by-Step: How We Built Our Training Site, Part 1
Drupal Step-by-Step: How We Built Our Training Site, Part 1Drupal Step-by-Step: How We Built Our Training Site, Part 1
Drupal Step-by-Step: How We Built Our Training Site, Part 1
 
Using jQuery to Extend CSS
Using jQuery to Extend CSSUsing jQuery to Extend CSS
Using jQuery to Extend CSS
 
Pecha Kucha
Pecha KuchaPecha Kucha
Pecha Kucha
 
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrainHow to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrain
 
Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)
 
Building Your First Widget
Building Your First WidgetBuilding Your First Widget
Building Your First Widget
 
Drupal Development (Part 2)
Drupal Development (Part 2)Drupal Development (Part 2)
Drupal Development (Part 2)
 
WordCamp Manchester 2016 - Making WordPress Menus Smarter
WordCamp Manchester 2016 - Making WordPress Menus SmarterWordCamp Manchester 2016 - Making WordPress Menus Smarter
WordCamp Manchester 2016 - Making WordPress Menus Smarter
 
WordPress Building Better Relationships
WordPress Building Better RelationshipsWordPress Building Better Relationships
WordPress Building Better Relationships
 
Ruby Robots
Ruby RobotsRuby Robots
Ruby Robots
 
How to work with legacy code PHPers Rzeszow #2
How to work with legacy code PHPers Rzeszow #2How to work with legacy code PHPers Rzeszow #2
How to work with legacy code PHPers Rzeszow #2
 
How to work with legacy code
How to work with legacy codeHow to work with legacy code
How to work with legacy code
 
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
H3 경쟁력있는 웹앱 개발을 위한 모바일 js 프레임웍
 
jQuery: Events, Animation, Ajax
jQuery: Events, Animation, AjaxjQuery: Events, Animation, Ajax
jQuery: Events, Animation, Ajax
 
Exemple de création de base
Exemple de création de baseExemple de création de base
Exemple de création de base
 
DBI
DBIDBI
DBI
 
Karan chanana
Karan chananaKaran chanana
Karan chanana
 
Practica csv
Practica csvPractica csv
Practica csv
 
Node.js - Demnächst auf einem Server in Ihrer Nähe
Node.js - Demnächst auf einem Server in Ihrer NäheNode.js - Demnächst auf einem Server in Ihrer Nähe
Node.js - Demnächst auf einem Server in Ihrer Nähe
 
Ugas, Kohtala: Clarifying the role of design within the Framework for Strateg...
Ugas, Kohtala: Clarifying the role of design within the Framework for Strateg...Ugas, Kohtala: Clarifying the role of design within the Framework for Strateg...
Ugas, Kohtala: Clarifying the role of design within the Framework for Strateg...
 

Similar to Beyond Posts & Pages - Structured Content in WordPress

Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & TricksJavascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & Tricks
Hjörtur Hilmarsson
 
Propel sfugmd
Propel sfugmdPropel sfugmd
Propel sfugmd
iKlaus
 
Coffeescript a z
Coffeescript a zCoffeescript a z
Coffeescript a z
Starbuildr
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Masahiro Nagano
 
jQuery - 10 Time-Savers You (Maybe) Don't Know
jQuery - 10 Time-Savers You (Maybe) Don't KnowjQuery - 10 Time-Savers You (Maybe) Don't Know
jQuery - 10 Time-Savers You (Maybe) Don't Know
girish82
 

Similar to Beyond Posts & Pages - Structured Content in WordPress (20)

Why Hacking WordPress Search Isn't Some Big Scary Thing
Why Hacking WordPress Search Isn't Some Big Scary ThingWhy Hacking WordPress Search Isn't Some Big Scary Thing
Why Hacking WordPress Search Isn't Some Big Scary Thing
 
Codigo taller-plugins
Codigo taller-pluginsCodigo taller-plugins
Codigo taller-plugins
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
Virtual Madness @ Etsy
Virtual Madness @ EtsyVirtual Madness @ Etsy
Virtual Madness @ Etsy
 
Php
PhpPhp
Php
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and Performance
 
Blog Hacks 2011
Blog Hacks 2011Blog Hacks 2011
Blog Hacks 2011
 
Custom Post Types and Meta Fields
Custom Post Types and Meta FieldsCustom Post Types and Meta Fields
Custom Post Types and Meta Fields
 
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridasFrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
 
CSS: A Slippery Slope to the Backend
CSS: A Slippery Slope to the BackendCSS: A Slippery Slope to the Backend
CSS: A Slippery Slope to the Backend
 
Separation of concerns - DPC12
Separation of concerns - DPC12Separation of concerns - DPC12
Separation of concerns - DPC12
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference Client
 
Let jQuery Rock Your World
Let jQuery Rock Your WorldLet jQuery Rock Your World
Let jQuery Rock Your World
 
Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & TricksJavascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & Tricks
 
Propel sfugmd
Propel sfugmdPropel sfugmd
Propel sfugmd
 
Coffeescript a z
Coffeescript a zCoffeescript a z
Coffeescript a z
 
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
 
Daily notes
Daily notesDaily notes
Daily notes
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!
 
jQuery - 10 Time-Savers You (Maybe) Don't Know
jQuery - 10 Time-Savers You (Maybe) Don't KnowjQuery - 10 Time-Savers You (Maybe) Don't Know
jQuery - 10 Time-Savers You (Maybe) Don't Know
 

More from 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...
Taking Back What and From Whom?: Imagined Communities and Role of WordPress i...
John Eckman
 

More from John Eckman (20)

Don't fear the block: Gutenberg is gettin' good
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
 
#NoStalking: Advertising & User Privacy
#NoStalking: Advertising & User Privacy#NoStalking: Advertising & User Privacy
#NoStalking: Advertising & User Privacy
 
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...
There's a Reason We Call Them Institutions: Working in Higher Education Witho...
 
Working the Open: Open Source in an Agency
Working the Open: Open Source in an AgencyWorking the Open: Open Source in an Agency
Working the Open: Open Source in an Agency
 
GDPR 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 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
 
The Blob, the Chunk, & the Block: Structured Content in the Age of Gutenberg
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
 
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...
Taking Back What and From Whom?: Imagined Communities and Role of WordPress i...
 
Gutenberg for Agencies
Gutenberg for AgenciesGutenberg for Agencies
Gutenberg for Agencies
 
Engaging in Digital: Sites for Non-Profits
Engaging in Digital: Sites for Non-ProfitsEngaging in Digital: Sites for Non-Profits
Engaging in Digital: Sites for Non-Profits
 
Dear Firstname Lastname: Personalization & Content Targeting
Dear Firstname Lastname: Personalization & Content TargetingDear Firstname Lastname: Personalization & Content Targeting
Dear Firstname Lastname: Personalization & Content Targeting
 
But Why? Use Cases for the REST API
But Why? Use Cases for the REST APIBut Why? Use Cases for the REST API
But Why? Use Cases for the REST API
 
WPDrama & The Four Agreements
WPDrama & The Four AgreementsWPDrama & The Four Agreements
WPDrama & The Four Agreements
 
Distributed, not Disconnected: Employee Engagement for Remote Companies
Distributed, not Disconnected: Employee Engagement for Remote CompaniesDistributed, not Disconnected: Employee Engagement for Remote Companies
Distributed, not Disconnected: Employee Engagement for Remote Companies
 
Disrupting Distribution
Disrupting DistributionDisrupting Distribution
Disrupting Distribution
 
Managing Clients without Going Crazy
Managing Clients without Going CrazyManaging Clients without Going Crazy
Managing Clients without Going Crazy
 
Stop Gathering Requirements - Start Defining Success
Stop Gathering Requirements - Start Defining SuccessStop Gathering Requirements - Start Defining Success
Stop Gathering Requirements - Start Defining Success
 
Client Diplomacy: From Adversaries to Allies
Client Diplomacy: From Adversaries to AlliesClient Diplomacy: From Adversaries to Allies
Client Diplomacy: From Adversaries to Allies
 
WordPress as a CMS Platform: Gilbane 2015
WordPress as a CMS Platform: Gilbane 2015WordPress as a CMS Platform: Gilbane 2015
WordPress as a CMS Platform: Gilbane 2015
 
WordPress and the Enterprise Disconnect
WordPress and the Enterprise DisconnectWordPress and the Enterprise Disconnect
WordPress and the Enterprise Disconnect
 
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)
The Future of WordPress (and Your Role In It)
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Beyond Posts & Pages - Structured Content in WordPress

Editor's Notes

  1. Growing up in Dublin we didn’t get a lot of snow, so this was a kids dream come true. Another highlight that year was this.
  2. Delight.us
  3. Karen McGrane, Jeff Eaton, Deanne Barker and many others have long talked about the difference between content management systems and web publishing systems. In a web publishing system, the focus is on “making web pages” – and we mix structure and content. In a true content management system the two are separate
  4. 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.
  5. But we do actually have some existing metadata:DateCategoriesTagsTitleExcerptPost Thumbnail / Featured ImageAuthor 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.
  6. NPR Case study – Create Once, Publish Everywhere. Today we will focus on the content entry part of the equation, and less on display – though I’ll talk about that at the end
  7. Even as just stories they can be incredibly powerful.But we also have the opportunity to make them real. So I wanted to talk a little about how we can think about the systems we build and the stories we tell in a different way. So that maybe we can help create the kind of experiences that stay with people forever.
  8. 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