Have you ever used a theme or a plugin that offers an additional content area outside of the standard Posts or Pages? These are called Custom Post Types, a great feature in WordPress that allows you to break out into specific areas of content that can be used for anything the mind can imagine.
Whether you are learning about theme development and want to add separate content sections of your own or simply new to using WordPress to manage your content, it is to your advantage to know and understand what custom post types are, and what they can do to simplify your publishing or development life.
This presentation was given at WordCamp Ottawa on April 27th, 2013
1. An Introduction toAn Introduction to
Custom PostCustom Post
TypesTypes
Presented by Troy ChaplinPresented by Troy Chaplin
Web Developer & WordPress EnthusiastWeb Developer & WordPress Enthusiast
2. A Little About MeA Little About Me
Graphic design diploma from StGraphic design diploma from St
Lawrence College and self taughtLawrence College and self taught
web developer.web developer.
8 year career in print design and8 year career in print design and
layout, marketing, advertising andlayout, marketing, advertising and
web design and development.web design and development.
4 years as a web developer at4 years as a web developer at
Carleton University designing andCarleton University designing and
developing custom CMS’ powereddeveloping custom CMS’ powered
by WordPress and helping maintainby WordPress and helping maintain
over 250 WP sites.over 250 WP sites.
Loves learning and working withLoves learning and working with
WordPress to try and find better andWordPress to try and find better and
more intuitive ways to build custommore intuitive ways to build custom
functionality.functionality.
I never code alone.I never code alone.
8. All those examples useAll those examples use
a variety of custom posta variety of custom post
typestypes
But we’ll take a closer look at those laterBut we’ll take a closer look at those later
9. About Custom PostAbout Custom Post
TypesTypes
If you’ve used WordPress, then you may be surprised toIf you’ve used WordPress, then you may be surprised to
learn that you’ve been using custom post types all along.learn that you’ve been using custom post types all along.
WordPress uses 5 default post types: posts, pages,WordPress uses 5 default post types: posts, pages,
attachments, revisions and nav menus.attachments, revisions and nav menus.
Provides the ability to create new content areas andProvides the ability to create new content areas and
separate content on large sites.separate content on large sites.
Designers and developers can create layouts andDesigners and developers can create layouts and
functionality that is separate from posts and pages.functionality that is separate from posts and pages.
Used by several plugins to add specific functionality thatUsed by several plugins to add specific functionality that
does not impact the default post types.does not impact the default post types.
10. Its Name Can beIts Name Can be
ConfusingConfusing
Custom post types?Custom post types?
Isn’t that the same thingIsn’t that the same thing
as the default posts?as the default posts?
What’s the difference?What’s the difference?
I prefer to think of it as aI prefer to think of it as a
Custom Content Type.Custom Content Type.
It is tied to none of theIt is tied to none of the
default post types, actsdefault post types, acts
as a stand aloneas a stand alone
content area.content area.
11. Custom Post TypeCustom Post Type
FunctionalityFunctionality
Can mirror the familiar functionality of posts: non-Can mirror the familiar functionality of posts: non-
hierarchical, categorization, tagging capabilities.hierarchical, categorization, tagging capabilities.
Can also reflect the pages environment: pageCan also reflect the pages environment: page
attributes, parent-child relationships.attributes, parent-child relationships.
Both can support titles, editors, revisions, customBoth can support titles, editors, revisions, custom
fields, thumbnails, comments and more.fields, thumbnails, comments and more.
Both act and are organized independently from theBoth act and are organized independently from the
default posts and pages and can be tailored to suit adefault posts and pages and can be tailored to suit a
variety of needs across your website.variety of needs across your website.
12. Sprott School ofSprott School of
BusinessBusiness
Homepage slideshowHomepage slideshow
and other content areasand other content areas
are control with aare control with a
homepage custom posthomepage custom post
type.type.
Chronologically sortedChronologically sorted
upcoming events list.upcoming events list.
Alphabetically sorted listAlphabetically sorted list
of faculty and staffof faculty and staff
members.members.
13. Carleton NewsroomCarleton Newsroom
Homepage featuredHomepage featured
story and video settings.story and video settings.
Default posts as well asDefault posts as well as
several custom postseveral custom post
types feeding into thetypes feeding into the
homepage.homepage.
In the News is a customIn the News is a custom
post type to helppost type to help
separate internal newsseparate internal news
from external news.from external news.
Alphabetically sortedAlphabetically sorted
experts at Carletonexperts at Carleton
listing.listing.
14. Graduate AdmissionsGraduate Admissions
Homepage slideshow.Homepage slideshow.
Alphabetical list ofAlphabetical list of
programs, split into threeprograms, split into three
main categories.main categories.
Chronologically sortedChronologically sorted
upcoming events list.upcoming events list.
Video gallery.Video gallery.
International studentInternational student
requirements, sortedrequirements, sorted
alphabetically byalphabetically by
country.country.
15. Carleton AthleticsCarleton Athletics
Campus and kidsCampus and kids
program listing.program listing.
Fitness class listing.Fitness class listing.
Leagues and recreationLeagues and recreation
listing.listing.
Pool and facilities listing.Pool and facilities listing.
Site wideSite wide
advertisements.advertisements.
16. Carleton HousingCarleton Housing
Homepage with contentHomepage with content
customization options.customization options.
Alphabetical listing ofAlphabetical listing of
campus residencecampus residence
buildings.buildings.
Video gallery.Video gallery.
Off campus housingOff campus housing
listings.listings.
Student testimonials.Student testimonials.
Promotional highlights.Promotional highlights.
17. More Ways to Use Custom PostMore Ways to Use Custom Post
TypesTypes
Entertainment sites: custom post types to separateEntertainment sites: custom post types to separate
content for movies, television shows, music, books,content for movies, television shows, music, books,
games and more.games and more.
Sports: custom post types to separate content forSports: custom post types to separate content for
hockey, basketball, baseball, football, golf and more.hockey, basketball, baseball, football, golf and more.
Online magazines: custom post types to separateOnline magazines: custom post types to separate
content for editorial section such as features, letters,content for editorial section such as features, letters,
shorts, guest columnists and more.shorts, guest columnists and more.
18. The Basics of theThe Basics of the
FunctionFunction
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'wco_notes',
array(
'labels' => array(
'name' => __( 'WordCamp Notes' ),
'singular_name' => __( 'WordCamp
Note' )
),
'public' => true,
'has_archive' => true,
)
);
}
19. Theme FilesTheme Files
Custom post type archives functions similar to theCustom post type archives functions similar to the
category template using a file namedcategory template using a file named archive-archive-
post_type_name.phppost_type_name.php
Single page function like a post or page and use aSingle page function like a post or page and use a
template file namedtemplate file named single-post_type_name.phpsingle-post_type_name.php
If neither of these templates files exist WordPressIf neither of these templates files exist WordPress
would look for archive.php and single.php.would look for archive.php and single.php.
Default URL structure uses post_type_name, but canDefault URL structure uses post_type_name, but can
be customized in more detailed function.be customized in more detailed function.
Example: http://sitename.ca/post_type_name/.Example: http://sitename.ca/post_type_name/.
21. Some Plugins to HelpSome Plugins to Help
Custom Post Type UICustom Post Type UI
http://wordpress.org/extend/plugins/custom-http://wordpress.org/extend/plugins/custom-
post-type-ui/post-type-ui/
TypesTypes
http://wordpress.org/extend/plugins/types/http://wordpress.org/extend/plugins/types/
Both plugins allow for quick and easy creation ofBoth plugins allow for quick and easy creation of
custom post types, as well as taxonomies /custom post types, as well as taxonomies /
categoriescategories
22. Things to RememberThings to Remember
Use post types to create unique sections on yourUse post types to create unique sections on your
site that provide functionality that is different thansite that provide functionality that is different than
that of default blog posts and pages.that of default blog posts and pages.
Use them on large scale site to better organize aUse them on large scale site to better organize a
variety of areas of content. Better for writers,variety of areas of content. Better for writers,
easier for visitors.easier for visitors.
Not comfortable with editing code? Use a plugin!Not comfortable with editing code? Use a plugin!
Think outside the box. Nothing is impossible.Think outside the box. Nothing is impossible.