+ All Categories
Home > Technology > Advanced Custom Post Types

Advanced Custom Post Types

Date post: 28-Jan-2015
Category:
Upload: andy-stratton
View: 109 times
Download: 0 times
Share this document with a friend
Description:
My presentation at WordCamp San Diego 2013 about advanced methods of using custom post types and taxonomies.
Popular Tags:
112
Advanced Custom Post Types & Taxonomies WordCamp San Diego 2013 #wcsd @theandystratton Saturday, March 23, 13
Transcript
Page 1: Advanced Custom Post Types

AdvancedCustom Post Types

& TaxonomiesWordCamp San Diego 2013

#wcsd@theandystratton

Saturday, March 23, 13

Page 2: Advanced Custom Post Types

Who am I?

Saturday, March 23, 13

Page 3: Advanced Custom Post Types

Freelance WordPress Developer

Saturday, March 23, 13

Page 4: Advanced Custom Post Types

Founder

Saturday, March 23, 13

Page 5: Advanced Custom Post Types

What areCustom Post Types?

Saturday, March 23, 13

Page 6: Advanced Custom Post Types

Generic Post ContentInherit core user interface

& functionality

Saturday, March 23, 13

Page 7: Advanced Custom Post Types

Including:Post meta, attachments, featured image,

hierarchies, comments, etc.

Saturday, March 23, 13

Page 8: Advanced Custom Post Types

What areCustom Taxonomies?

Saturday, March 23, 13

Page 9: Advanced Custom Post Types

Generic Tags/Categories

Saturday, March 23, 13

Page 10: Advanced Custom Post Types

Taxonomies create relationships

between content

Saturday, March 23, 13

Page 11: Advanced Custom Post Types

Why should we use them?

Saturday, March 23, 13

Page 12: Advanced Custom Post Types

In the old days, we’d:Re-purpose blog postsfiltering by category/tag

Saturday, March 23, 13

Page 13: Advanced Custom Post Types

In the old days, we’d:Create custom database tables and functionality

Saturday, March 23, 13

Page 14: Advanced Custom Post Types

In the old days, we’d:Use strange plugins

and non-standard code

Saturday, March 23, 13

Page 15: Advanced Custom Post Types

This is pretty muchdoing it wrong.

Saturday, March 23, 13

Page 16: Advanced Custom Post Types

Why DO we custom post types/taxonomies?

Saturday, March 23, 13

Page 17: Advanced Custom Post Types

Future compatible

Saturday, March 23, 13

Page 18: Advanced Custom Post Types

WordPress Coding Standards

Saturday, March 23, 13

Page 19: Advanced Custom Post Types

Theme & Plugin compatibility(page ordering, SEO plugins, etc.)

Saturday, March 23, 13

Page 20: Advanced Custom Post Types

Flexible & ExtendiblePost Meta, attachments,

hierarchies, ordering, featured images

Saturday, March 23, 13

Page 21: Advanced Custom Post Types

Help maintain a consistent user-interface

&consistent user-experience

Saturday, March 23, 13

Page 22: Advanced Custom Post Types

@alternatekev:“Build design systems.”

Saturday, March 23, 13

Page 23: Advanced Custom Post Types

For what can we use custom post types?

Saturday, March 23, 13

Page 24: Advanced Custom Post Types

Home Page Sliders

Saturday, March 23, 13

Page 25: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 26: Advanced Custom Post Types

Photo Galleries

Saturday, March 23, 13

Page 27: Advanced Custom Post Types

Locations

Saturday, March 23, 13

Page 28: Advanced Custom Post Types

Job Postings

Saturday, March 23, 13

Page 29: Advanced Custom Post Types

People/Teams

Saturday, March 23, 13

Page 30: Advanced Custom Post Types

Reusable Static Content

Saturday, March 23, 13

Page 31: Advanced Custom Post Types

HTML Emails

Saturday, March 23, 13

Page 32: Advanced Custom Post Types

Let’s break thesesite elements down into

CPT components.

Saturday, March 23, 13

Page 33: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 34: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 35: Advanced Custom Post Types

Callout Boxesimage

Saturday, March 23, 13

Page 36: Advanced Custom Post Types

Callout Boxesimage

content

Saturday, March 23, 13

Page 37: Advanced Custom Post Types

Element Post Type Element

Image Featured Image

Content Post Title/Content

LinkIn post content, ORcustom field

Callout Boxes

Saturday, March 23, 13

Page 38: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 39: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 40: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 41: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 42: Advanced Custom Post Types

Callout Boxes

Saturday, March 23, 13

Page 43: Advanced Custom Post Types

More Post Type Maps

Saturday, March 23, 13

Page 44: Advanced Custom Post Types

Element Post Type Element

Image Gallery Post Attachments

Title Post Title

Description Post Content

Date Post Date

Photo Gallery

Saturday, March 23, 13

Page 45: Advanced Custom Post Types

Element Post Type Element

Photo Featured Image

Person Name Post Title

Description Post Content

Additional Info(Title, Phone, etc.)

Custom Fields/Post Meta

People/Teams

Saturday, March 23, 13

Page 46: Advanced Custom Post Types

This gives us somegreat benefits...

Saturday, March 23, 13

Page 47: Advanced Custom Post Types

Content SchedulingUse publish date and

the Post Expirator pluginwordpress.org/extend/plugins/post-expirator/

Saturday, March 23, 13

Page 48: Advanced Custom Post Types

Content Staging LibrarySave callouts as drafts.

Easily swap content with more options than text widgets.

Saturday, March 23, 13

Page 49: Advanced Custom Post Types

Benefits Case StudyMarketing Sliders for Brick Bodies

Saturday, March 23, 13

Page 50: Advanced Custom Post Types

Marketing TeamAnyone with publish capabilities can create, schedule and expire slides.

Saturday, March 23, 13

Page 51: Advanced Custom Post Types

Monthly PlansPlan their specials/events in advance

Set their next month’s slides to publish when current expire

Saturday, March 23, 13

Page 52: Advanced Custom Post Types

WordPress StandardsConsistent UI & user experience

If a user can add/edit a post, they can add/edit a slide

Saturday, March 23, 13

Page 53: Advanced Custom Post Types

WordPress StandardsFuture compatible

Compatible with plugins(e.g. post expirator)

Saturday, March 23, 13

Page 54: Advanced Custom Post Types

Enhancing the Core UI

Saturday, March 23, 13

Page 55: Advanced Custom Post Types

Enhancing the Core UI We should add context to everything.

Add logical elements to make managing content easier.

Saturday, March 23, 13

Page 56: Advanced Custom Post Types

Enter Title Here

Saturday, March 23, 13

Page 57: Advanced Custom Post Types

Easy Code

https://gist.github.com/theandystratton/5225881

Saturday, March 23, 13

Page 58: Advanced Custom Post Types

Custom Menu Icons

Saturday, March 23, 13

Page 59: Advanced Custom Post Types

Custom Menu Icons

https://gist.github.com/theandystratton/5226783

Saturday, March 23, 13

Page 60: Advanced Custom Post Types

Admin Columns

Saturday, March 23, 13

Page 61: Advanced Custom Post Types

Custom Columns

https://gist.github.com/theandystratton/5225903

Saturday, March 23, 13

Page 62: Advanced Custom Post Types

Custom Column Contenthttps://gist.github.com/theandystratton/5225903

Saturday, March 23, 13

Page 63: Advanced Custom Post Types

Saturday, March 23, 13

Page 64: Advanced Custom Post Types

Make Great ExperiencesMeet user expectations

(clicking the thumbnail edits the post)Show all relevant data

Saturday, March 23, 13

Page 65: Advanced Custom Post Types

Taxonomy: Store Categories

Can group/relate contentFilter the edit screen

Saturday, March 23, 13

Page 66: Advanced Custom Post Types

Clicking Entertainment in the “Store Categories” column filters listing by locations tagged “Entertainment.”

Saturday, March 23, 13

Page 67: Advanced Custom Post Types

Saturday, March 23, 13

Page 68: Advanced Custom Post Types

Using “show_admin_column” when registering a public taxonomy.

gist.github.com/theandystratton/5226656

Saturday, March 23, 13

Page 69: Advanced Custom Post Types

Add Context with Taxonomies

Case Study: Content Tags

Saturday, March 23, 13

Page 70: Advanced Custom Post Types

General TagsApplied to pages, posts and

all custom post types

Saturday, March 23, 13

Page 71: Advanced Custom Post Types

Create relationships acrossall post types

Easily relate unrelated content

Saturday, March 23, 13

Page 72: Advanced Custom Post Types

Example:LIIFund.org

Saturday, March 23, 13

Page 73: Advanced Custom Post Types

Some pages are content about specific types of projects.

Saturday, March 23, 13

Page 74: Advanced Custom Post Types

Custom post type of “statistics” used to populate the left sidebar column

Saturday, March 23, 13

Page 75: Advanced Custom Post Types

Client wants “Child Care” statistics to auto-populate in the sidebar of the child care page

Saturday, March 23, 13

Page 76: Advanced Custom Post Types

Saturday, March 23, 13

Page 77: Advanced Custom Post Types

Page

Saturday, March 23, 13

Page 78: Advanced Custom Post Types

Page

Custom Post Type

Saturday, March 23, 13

Page 79: Advanced Custom Post Types

Used content tags to relate pages to statistics

& pull programmatically.

Saturday, March 23, 13

Page 80: Advanced Custom Post Types

Saturday, March 23, 13

Page 81: Advanced Custom Post Types

Saturday, March 23, 13

Page 82: Advanced Custom Post Types

wp_dropdown_categories()

Saturday, March 23, 13

Page 83: Advanced Custom Post Types

These content tags allow users to tag content and we can use it to

provide contextual content.

Saturday, March 23, 13

Page 84: Advanced Custom Post Types

https://gist.github.com/theandystratton/5226712

Saturday, March 23, 13

Page 85: Advanced Custom Post Types

https://gist.github.com/theandystratton/5226712

Saturday, March 23, 13

Page 86: Advanced Custom Post Types

You can pair content tags(a generic taxonomy)with content blocks(a generic post type)

to rapidly deploy all sorts of contextual content management.

Saturday, March 23, 13

Page 87: Advanced Custom Post Types

Content Blockshttps://github.com/szbl/szbl-content-blocks/

Content Tagshttps://github.com/szbl/szbl-content-tags/

Saturday, March 23, 13

Page 88: Advanced Custom Post Types

Be Extendible!Think Like Core.Be Like Core.

Saturday, March 23, 13

Page 89: Advanced Custom Post Types

HooksDo Actions.Apply Filters.

Saturday, March 23, 13

Page 90: Advanced Custom Post Types

What if I want to hide the admin column and only apply these to pages and posts?

Saturday, March 23, 13

Page 91: Advanced Custom Post Types

We can hook into Content Tags like this:

Saturday, March 23, 13

Page 92: Advanced Custom Post Types

Truly Extendible.You can customize code.

You can re-use code.

Saturday, March 23, 13

Page 93: Advanced Custom Post Types

Your plugins folder may look like this:

Saturday, March 23, 13

Page 94: Advanced Custom Post Types

Your plugins folder may look like this:

This plugin...

Saturday, March 23, 13

Page 95: Advanced Custom Post Types

Your plugins folder may look like this:

This plugin...Modifies

theseplugins

Saturday, March 23, 13

Page 96: Advanced Custom Post Types

Truly Extendible.You can customize code.

You can re-use code.

Saturday, March 23, 13

Page 97: Advanced Custom Post Types

Saves time.Saves money.

Updates are easier.Functionality is not

tethered to a theme.

Saturday, March 23, 13

Page 98: Advanced Custom Post Types

Some Final DOs & DON’Ts

Saturday, March 23, 13

Page 99: Advanced Custom Post Types

DON’TAlter/change core

user-interface(CSS, Javascript, core hacks)

Saturday, March 23, 13

Page 100: Advanced Custom Post Types

DON’TRe-brand WordPress as your

own custom CMS.(You’re not fooling anyone.)

Saturday, March 23, 13

Page 101: Advanced Custom Post Types

DON’TUse custom tables or

database queries whenit is not necessary.

(In most cases, it’s not.)

Saturday, March 23, 13

Page 102: Advanced Custom Post Types

DON’TForget about widgets, sidebars and menus.

Saturday, March 23, 13

Page 103: Advanced Custom Post Types

DON’TOvercomplicate Shit.

(Complicate shit whenshit gets complicated.)

Saturday, March 23, 13

Page 104: Advanced Custom Post Types

DOUse the Core UI

Saturday, March 23, 13

Page 105: Advanced Custom Post Types

DOCreate additional UI

elements via Core CSS.Let core inspire you.

Saturday, March 23, 13

Page 106: Advanced Custom Post Types

DOPlace your code into plugins.Even custom themes need plugin love.

Saturday, March 23, 13

Page 107: Advanced Custom Post Types

DOConstantly improve

your code.

Saturday, March 23, 13

Page 108: Advanced Custom Post Types

DORe-use your code.

Saturday, March 23, 13

Page 109: Advanced Custom Post Types

DOWrite extendible code.Use Actions and Filters.

Saturday, March 23, 13

Page 110: Advanced Custom Post Types

DOShare your code.

WP.org/GitHub/Gist/your blog

Saturday, March 23, 13

Page 111: Advanced Custom Post Types

DOBe awesome.

Love what you do. Do it well.

Saturday, March 23, 13

Page 112: Advanced Custom Post Types

Thanks for the time.

Saturday, March 23, 13


Recommended