Slide 1

Slide 1 text

Taking Taxonomies Totally To The Top Simon Wheatley, @simonwheatley © Jeremy Keith - http://www.flickr.com/photos/74105777@N00/3373755775/

Slide 2

Slide 2 text

I’m Simon, nice to meet you all

Slide 3

Slide 3 text

spot the mistakes

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

“in this world nothing can be said to be certain, except death and taxes taxonomies” – Benjamin Franklin

Slide 9

Slide 9 text

organising your content © See-ming Lee - http://www.flickr.com/photos/seeminglee/4556156477/in/photostream/

Slide 10

Slide 10 text

structure © Claudio Alejandro Mufarrege - http://www.flickr.com/photos/claudio_ar/2702433442/

Slide 11

Slide 11 text

three tables © marya- http://www.flickr.com/photos/emdot/32815499/

Slide 12

Slide 12 text

wp_terms

Slide 13

Slide 13 text

wp_term_taxonomy

Slide 14

Slide 14 text

wp_term_relationships

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

register_taxonomy

Slide 17

Slide 17 text

term names and slugs are shared

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

flags for special treatment © Alden Jewell - http://www.flickr.com/photos/autohistorian/6940002890/

Slide 20

Slide 20 text

sticky © Matt Reinbold - http://www.flickr.com/photos/furryscalyman/3830578747/in/photostream/

Slide 21

Slide 21 text

sliders © Pedro Moura Pinheiro - http://www.flickr.com/photos/pedromourapinheiro/7684755096/

Slide 22

Slide 22 text

carousels © Chris Smith - http://www.flickr.com/photos/cjsmithphotography/5500801561/in/photostream/

Slide 23

Slide 23 text

simple taxonomy meta boxes © Popupology - http://www.flickr.com/photos/popupology/4750769171/

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

bookmarks © Vipul ᶶ Mathur - http://www.flickr.com/photos/vipulmathur/471634239/

Slide 26

Slide 26 text

bookmark-{user_id}

Slide 27

Slide 27 text

currently adding is easy © Luz Adriana Villa - http://www.flickr.com/photos/luchilu/408299457/

Slide 28

Slide 28 text

wp_set_object_terms( $object_id, $terms, $taxonomy, $append )

Slide 29

Slide 29 text

removing one term © Herman Rhoids - http://www.flickr.com/photos/rhoids/6820661300/in/photostream/

Slide 30

Slide 30 text

wp_delete_object_term_relationships ( $object_id, $taxonomies )

Slide 31

Slide 31 text

wp_get_object_terms( $object_ids, $taxonomies, $args )

Slide 32

Slide 32 text

wp_set_object_terms( $object_id, $terms, $taxonomy, $append )

Slide 33

Slide 33 text

wp_remove_object_terms( $object_id, $terms, $taxonomy )

Slide 34

Slide 34 text

wp_add_object_terms( $object_id, $terms, $taxonomy )

Slide 35

Slide 35 text

gotchas © Breanna Sisk - http://www.flickr.com/photos/breamarie/3366487089/

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

argh! © Andy Pixel - http://www.flickr.com/photos/smull/356355984/

Slide 38

Slide 38 text

no meta data makes the NSA sad

Slide 39

Slide 39 text

Why not?

Slide 40

Slide 40 text

lots of solutions © karl sinfield - http://www.flickr.com/photos/sindesign/268430073/

Slide 41

Slide 41 text

the (poor old) options table

Slide 42

Slide 42 text

© H.Powers - http://www.flickr.com/photos/melisande-origami/108813447/sizes/l/ sync post types & taxonomies

Slide 43

Slide 43 text

© H.Powers - http://www.flickr.com/photos/melisande-origami/108813447/sizes/l/ we can use post meta!

Slide 44

Slide 44 text

© H.Powers - http://www.flickr.com/photos/melisande-origami/108813447/sizes/l/ for every post a term

Slide 45

Slide 45 text

© H.Powers - http://www.flickr.com/photos/melisande-origami/108813447/sizes/l/ for every term a post

Slide 46

Slide 46 text

hooks for create, delete & edit © Gillie - http://www.flickr.com/photos/lovestruck94/3329381854/

Slide 47

Slide 47 text

exportable and importable

Slide 48

Slide 48 text

sptt_taxonomy_syncs_with( $taxonomy )

Slide 49

Slide 49 text

sptt_post_type_syncs_with( $post_type )

Slide 50

Slide 50 text

sptt_get_related_post_for_term( $term_id )

Slide 51

Slide 51 text

sptt_get_related_term_for_post( $post )

Slide 52

Slide 52 text

syncing terms in a multisite

Slide 53

Slide 53 text

feature post on root blog

Slide 54

Slide 54 text

switch_to_blog

Slide 55

Slide 55 text

stash it for (not very much) later

Slide 56

Slide 56 text

wp_get_object_terms( 1, 'category', array( 'fields' => 'tt_ids' ) )

Slide 57

Slide 57 text

aggregate counts © Thomas Hawk - http://www.flickr.com/photos/thomashawk/72778694/

Slide 58

Slide 58 text

questions? © Tom - http://www.flickr.com/photos/an_untrained_eye/6630719431/

Slide 59

Slide 59 text

We’re looking for freelance WordPress developers [email protected]