WordPress is for more than just blogging. Create and manage more types of content, like a portfolio, events, testimonials, images, people, cats anything you can think of you’d like to have a website about. Learn how to add content types like they were built in.
CALL ON ➥8923113531 🔝Call Girls Mahanagar Lucknow best sexual service
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan Mullins
1. Custom Post Types
Choose Your Own Adventure
WordCamp Atlanta 15 March 2014
Evan Mullins @circlecube
WordPress is for more than just blogging. Create and manage more types
of content, like a portfolio, events, testimonials, images, people, cats
anything you can think of you’d like to have a website about. Learn how
to add content types like they were built in.
2. Who am I?
I’ve been using WordPress since late 2005, that’s WP 2.0! First I knew WordPress as a
blogger, then as designer, then front-end coder and since as a theme and plug-in
developer. I’m the Interactive Director at Brand Fever, an Atlanta-based brand &
marketing agency, where I get a kick out of developing sites in WordPress every day! I
see WordPress as a flexible, user-friendly option that is nearly always the best tool for the
job. I most enjoy playing with custom fields and custom post types to create simple CMS
solutions to complex problems and making them responsive & interactive. When not
programming, I’m likely busy as a soccer coach, boy scout leader or playing with my
family: My awesome wife & our 3 boys (daughter on the way) and our lab-hound mutt. I
like pizza and chocolate.
Evan Mullins
circlecube.com
4. Introducing: Post Types
WordPress can hold and display many different types of
content. A single item of such a content is generally called
a post, although post is also a specific post type.
Internally, all the post types are stored in the same place,
in the wp_posts database table, but are differentiated by a
column called post_type.
WordPress 3.0 gives you the capability to add your own
custom post types and to use them in different ways.
5. Posts
Posts in WordPress refer to the blog content.
Each blog post is a “post”. But all other content
is also a post. I try to distinguish by always
calling blog posts, “blog posts” or “Posts” and
using the term “post” as a more abstract term.
6. Pages
WordPress pages are not
time based like blog posts
but would be best located in
your main navigation.
Things like your “about”
page or your “contact”
page. Pages are posts of
post_type page.
Pages can select templates
to be used so you can
customize the layout and
you can customize the
content using custom fields.
9. Introducing:
Custom Post Types
Custom post types are new post types you
can create. A custom post type can be added
to WordPress via the register_post_type()
function. This function allows you to define a
new post type by its labels, supported
features, availability and other specifics.
http://codex.wordpress.org/Post_Types#Custom_Post_Types
10. What are they used for?
Products
Portfolio Works
Events
Testimonials
Press Releases
Movies
Books
Stars
Golf Courses
Cars
Songs
Recipes
Blocks
People
Cats
Games
etc...
14. CPT
Custom post types for different types of data or
content that you’d manage in a website.
(Queue Devil’s Advocate)
But, we have that already right?
Categories, tags, post formats …
Posts, pages ...
16. Taxonomies
Taxonomy is a way to
group things together.
Built in taxonomies
are categories and
tags. But we can
create custom
taxonomies as well!
http://codex.wordpress.org/Taxonomies
17. Taxonomy ≠ CPT
If you just want to
organize or categorize
your content, a CPT is
not the answer. Use a
taxonomy.
18. Post Formats
A Post Format is a
formatting designation
made to a post. A
piece of meta
information that can
be used by a theme to
customize the
presentation (or
format) of a post.
The Post Formats
feature provides a
standardized list of
formats that are
available to all themes
that support the
feature.
http://codex.wordpress.org/Post_Formats
http://markjaquith.wordpress.com/2010/11/12/post-formats-vs-custom-post-types/
19. Post Formats ≠ CPT
If your aim is to just
display blog content
but display each ‘type’
of blog post differently,
you might rather use
Post Formats.
21. (Blog) Posts
Post in WordPress is
a post type that is
typical for and most
used by blogs. Posts
are normally displayed
in a blog in reverse
chronological order.
Posts are also used
for creating the feeds.
Posts usually have
comments enabled
and contain a title and
body text. They can
be organized via
taxonomy and
formatted via Post
Formats.
22. Posts ≠ posts (CPT)
Blog posts belong to
the blog section of
your site. If you need
any other type of
content. You have to
create it via CPT.
23. Pages ≠ CPT
I hope this one is obvious.
Pages in WordPress are posts, but not part of the blog
posts or Posts. Pages can use different page templates
to display them. Pages can also be organized in a
hierarchical structure, with pages being parents to
other pages, but they normally cannot be assigned
categories and tags.
24. Choose Your Own
CPT come with many options/arguments:
label(s), description, public, exclude_from_search,
publicly_queryable, show_ui, show_in_nav_menu,
show_in_menu, show_in_admin_bar, menu_position,
capability_type, capabilities, map_meta_cap, hierarchical,
supports, register_meta_box_cb, taxonomies, has_archive,
permalink_epmask, rewrite, query_var, can_export.
28. Hooks
Hooks are provided by WordPress to allow you to 'hook
into' the rest of WordPress. That is, your functions hook
into WordPress functions. Then when the WordPress
functions are called at any time, it sets your code in motion.
29. Hooks
actions
Actions are the hooks that the WordPress
core launches at specific points during
execution, or when specific events occur.
Your plugin can specify that one or more of its
PHP functions are executed at these points,
using the Action API.
filters
Filters are the hooks that WordPress
launches to modify text of various types
before adding it to the database or sending
it to the browser screen. Your plugin can
specify that one or more of its PHP
functions is executed to modify specific
types of text at these times, using the Filter
API.
30. How to Create CPT: 2 of 3
Use a tool to write the
code for you.
39. Now What?
You’ve decided what post types you want.
You’ve decided how to add them.
Add your recipe post type.
Add all your favorite recipes as content.
Most likely though, your custom post type
needs custom content, no? A recipe has
different data than the default title + body.
40. And Then?
How to customize content for the custom post
type?
How to display customized content for the
custom post type?
41. Custom Fields
Again 3 ways:
1. Write your own.
2. Use a tool to help you write it.
3. Use a plugin.
42. Custom Fields: 1 of 3
Roll your own.
Use the built-in
custom fields to
add these values
to your content.
44. Custom Fields: 1 of 3
<?php the_meta(); ?>
<?php $key="mykey"; echo get_post_meta($post->ID, $key, true); ?>
Then, set up your
template files for this
custom post type to
display the fields.
45. Theme Template Hierarchy
Which template file(s) will WordPress use
when it displays a certain type of page?
The huge logic tree (diagram) that helps
WordPress decide which template to show
for every type of content. It shows the
defaults and fallbacks, notice how everything
defaults back to index as a fallback if that
specific type of content does not have a
template.
47. Template Files for CPTs
single-$posttype.php
single-recipe.php will
be used instead of the
default single.php file
for this CPT.
archive-$posttype.php
archive-recipe.php will
be used instead of the
default archive.php file
for this CPT.
48. Custom Fields: 2 of 3
Use a tool/library/generator to support/write
your code.
Custom Metaboxes and Fields for WordPress
by WebDevStudios on github
any other shout outs?
51. Custom Fields: 3 of 3
Use a plugin. I recommend my all-time favorite
plugin EVER:
Advanced Custom Fields by mate Elliot
Condon
any other shout outs?