Custom Post Types and Taxonomies

  • 6,131 views
Uploaded on

WordPress just got CMSier

WordPress just got CMSier

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Thanks for sharing Tammy!
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
6,131
On Slideshare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
63
Comments
1
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Custom Post Types & Taxonomies
    WordPress just got CMSier
  • 2. Who Am I?
    I am a self-taught, freelance designer who has leveraged trial, error, and observation to become a WordPress expert.
    While I specialize in WordPress themes and CMS development, I also do all levels of Web Design and XHTML/CSS coding.
    I freelance some through my personal brand, Tammy Hart Designs, and I also work a full time gig at Infomediahere in Birmingham.
    TammyHartDesigns.com tammy@tammyhartdesigns.com @tammyhart
  • 3. What is a Post Type?
    Posts, pages and more! Oh my!
  • 4. How Does it Work?
    Content goes into the posts table
    Each content item is assigned a post_type
    Custom types are now easier to create and manage
  • 5. Built in Types
    Main Content
    Post
    Page
    Other
    Attachment
    Revision
    Nav Menu Item
  • 6. What Is a taxonomy?
    Read my lips, now new taxonomies
  • 7. How Do They Work?
    Terms and their unique ID’s are saved in the terms table
    Terms are assigned a taxonomy in the term_taxonomy table
    Terms are related to posts (of all types) in the term_relationships table
  • 8. Built in Taxonomies
    Post Taxonomies
    Category
    Post Tag
    Other
    Link Category
    Nav Menu
  • 9. Hand Coding
    The hard way
  • 10. Register a Post Type
    function post_type_movies(){
    register_post_type('movies',
    array('label'=> __('Movies'),
    'public'=>true,
    'show_ui'=>true,
    'supports' =>array(
    'post-thumbnails',
    'excerpts',
    'trackbacks',
    'custom-fields',
    'comments',
    'revisions')
    )
    );
    register_taxonomy_for_object_type('post_tag', 'movies');
    }
    add_action('init', 'post_type_movies');
    First Impressions of Custom Post Type by Frank Bültge on WPEngineer.org
    http://bit.ly/posttypes
  • 11. Default Arguments
    // Args prefixed with an underscore are reserved for internal use.
    $defaults =array(
    'label' =>false,
    'publicly_queryable' => null,
    'exclude_from_search' => null,
    '_builtin' =>false,
    '_edit_link' =>'post.php?post=%d',
    'capability_type'=>'post',
    'hierarchical' => false,
    'public' => false,
    'rewrite' =>true,
    'query_var' =>true,
    'supports' =>array(),
    'register_meta_box_cb' => null,
    'taxonomies' =>array(),
    'show_ui' => null
    );
    First Impressions of Custom Post Type by Frank Bültge on WPEngineer.org
    http://bit.ly/posttypes
  • 12. The Taxonomy Code
    function post_type_movies(){

    register_taxonomy('actor', 'movies',
    array(
    'hierarchical'=>true,
    'label'=> __('Actor')
    )
    );
    register_taxonomy(‘director', 'movies',
    array(
    'hierarchical'=>false,
    'label'=>__(‘Director'),
    'query_var'=>‘director',
    'rewrite' =>array('slug'=>‘director')
    )
    );
    }
    add_action('init', 'post_type_movies');
    First Impressions of Custom Post Type by Frank Bültge on WPEngineer.org
    http://bit.ly/posttypes
  • 13. Using Plugins
    The easy way
  • 14.
    Overheard
    WordCamp Birmingham 2009
    WordPress is the iPhone of the internet. You’ll always hear, “There’s a plugin for that!”
  • 15. Plugins for Creating Them
    Custom Post Type UI
    Creates both
    TONS of labeling options
    WP Post Type UI
    Creates both
    Buggy
    Allows a custom icon
    More Types & More Taxonomies
    Allows you to override built in types and taxonomies
    Allows a custom icon
    Works seamlessly with the More Fields plugin (stay tuned for more)
  • 16. Plugins for Manipulating Them
    Custom Post Type Order
    Drag and drop ordering
    Simple Custom Post Type Archives
    Adds support for custom post type archive permalinks
    Adds new body classes to custom post type archives
    Adds a new conditional, is_custom_post_type_archive
    Fixes the wp_title output on custom post type archives to show the custom type's label
    Adds custom post type feeds
    And more…
    Post Type Switcher
    Change the post type one item at a time
    Convert Post Types
    Bulk edit post types
  • 17. Custom Templates
    Now what do I do?
  • 18. Template Hierarchy
    Custom Post Type
    single-{post_type}.php
    single.php
    index.php
    Custom Taxonomy
    taxonomy-{taxonomy}-{term}.php
    taxonomy-{taxonomy}.php
    taxonomy.php
    archive.php
    index.php
  • 19. Custom Loops & Queries
    This gets hardcore
  • 20. The Loop
    The Basic Loop
    <?
    $loop =newWP_query('post_type=movies');
    while ($loop->have_posts()): $loop->the_post();
    ?>
    ... Do Stuff Here ...
    <?endwhile; ?>
    Add Custom Taxonomies
    $loop =newWP_query('post_type=movies&actor=joaquin-phoenix');
    $loop =newWP_query('post_type=movies&actor=joaquin-phoenix&director=m-night-shyamalan');
  • 21. Term Lists
    Get All Terms
    $terms =get_terms('actors', 'order_by=count&order=DESC');
    Get Terms in a Post
    get_the_term_list( $post->ID, 'actors', '<p>Actors: ', ',', '</p>' )
    Other Functions
    get_term
    get_term_children
    get_term_by
    get_taxonomies
  • 22. More Custom Content
    But wait, there’s more!
  • 23.
    Matt Mullenweg
    WordCamp Birmingham 2009
    I like what you’re doing; I just don’t like the way you’re having to do it. So I’m going to make it better.
  • 24. No More Flutter
    Custom Post Typesto create the special content
    Custom Taxonomiesto organize the content
    Custom Fieldsto get specific information on each post in a way that is human and pretty
  • 25. Thanks!
    Questions?
    TammyHartDesigns.comtammy@tammyhartdesigns.com@tammyhart