creatively creating custom post types!
DESCRIPTION
TRANSCRIPT
Creatively Creating Custom Post TypesNikhil Vimal #WordUpMPLS
Hi, I’m Nikhil
• I develop with WordPress• I can be found on Twitter @TechVoltz• This my first talk ever
Custom Post Types?They Rock (Seriously)
But what are they?
• Instead of using default posts and categories in WordPress, use Custom Post Types
•You can add a lot of cool things that are not in a Default WordPress install
•Added in WordPress 3.0
Why Do You need them?Organization
PortfolioPost Type could be paintings
Online StorePost Type could be Products
Your only limitation isYour imagination
“WordPress can hold and display many different types of content.”
-WordPress Codex
But how do we add Custom Post Types?With a plugin of course
Create a file called myposttype.php<?php/** * Plugin Name: Your Custom Post Type * Plugin URI: http://yourpluginswebsite.com * Description: A brief description of your Plugin. * Version: The Plugin's Version Number, e.g.: 1.0 * Author: Your Name * Author URI: http://yourwebsite.com * License: A "Slug" license name e.g. GPL2 */
add_action('init', 'wordup_sessions');
function wordup_sessions() { $wordup_args = array( 'public' => true, 'has_archive' => true, 'query_var' => 'wordup', 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ), 'labels' => array( 'name' => 'WordUp Sessions', 'singular' => 'WordUp Session', 'add_new' => 'Add Session', 'add_new_item' => 'Add Session', 'edit_item' => 'Edit Session', 'new_item' => 'New Session', 'view_item' => 'View Session', 'search_items' => 'Search WordUp', 'not_found' => 'No sessions found', 'not_found_in_trash' => 'No Sessions found in the Trash', ), ); register_post_type('WordUp', $wordup_args ); }
Lets examine all the code!!
add_action('init', 'wordup_sessions');
function wordup_sessions() { $wordup_args = array( 'public' => true, 'has_archive' => true, 'query_var' => 'wordup', 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
'labels' => array( 'name' => 'WordUp Sessions', 'singular' => 'WordUp Session', 'add_new' => 'Add Session', 'add_new_item' => 'Add Session', 'edit_item' => 'Edit Session', 'new_item' => 'New Session', 'view_item' => 'View Session', 'search_items' => 'Search Sessions', 'not_found' => 'No sessions found', 'not_found_in_trash' => 'No Sessions found in the Trash', ),);
register_post_type('WordUp', $wordup_args ); }
Styling your CPT PageWith single-$posttype.php
Having an Archive Page for your CPTWith archive-$posttype.php
TaxonomiesMore Organization
“Basically, a taxonomy is a way to group things together”
-WordPress Codex
TaxonomiesCategories and Tags
PortfolioTaxonomy is oil painting
After our Custom Post type function….
add_action('init', 'wordup_tracks');
function wordup_tracks(){ $track_args = array( 'hierarchical' => true, 'query_var' => ‘wordup_tracks', 'show_tagcloud' => true,
'labels' => array( 'name' => 'Tracks', 'edit_item' => 'Edit Track', 'update_item' => 'Update Track', 'add_new_item' => 'Add New Track', 'new_item_name' => 'New Track', 'all_items' => 'All Tracks', 'search_items' => 'Search Tracks', 'popular_items' => 'Popular Tracks', 'add_or_remove_items' => 'Add or remove Tracks', 'choose_from_most_used' => 'Choose from most used Tracks', ), );
register_taxonomy(‘wordup_tracks', array('wordup'), $dev_args);
}
The array(‘wordup’) is our custom post type
You can add moreLike Custom Fields
Questions?
Resources• http://
justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress• http://codex.wordpress.org/Post_Types• http://codex.wordpress.org/Taxonomies• http
://wp.smashingmagazine.com/2012/11/08/complete-guide-custom-post-types/
Thank You!Nikhil Vimal@TechVoltz