1 00:00:02,081 --> 00:00:03,888 How's everybody doing? 2 00:00:03,908 --> 00:00:05,644 Sleepy 'cause it's after noon 3 00:00:05,644 --> 00:00:08,092 and then you have lunch and you're all tired 4 00:00:08,092 --> 00:00:10,871 and not retaining any knowledge? 5 00:00:10,871 --> 00:00:14,521 This is going to be awesome! 6 00:00:15,174 --> 00:00:17,243 My name's Tracy Levesque. 7 00:00:17,243 --> 00:00:19,193 I'm from Philadelphia 8 00:00:19,193 --> 00:00:20,288 (Cheers from Philly peeps in the audience) 9 00:00:20,288 --> 00:00:22,860 Right! That's right! 10 00:00:22,890 --> 00:00:25,733 I co-own a Web design and development company 11 00:00:25,733 --> 00:00:28,259 called YIKES, Inc. 12 00:00:28,259 --> 00:00:31,609 What I do personally is Iove creating themes for WordPress 13 00:00:31,609 --> 00:00:34,126 I've been making websites since 1996 14 00:00:34,126 --> 00:00:40,432 and working with WordPress since 2006 15 00:00:43,711 --> 00:00:46,061 I would consider myself a Power User, right? 16 00:00:46,061 --> 00:00:51,319 I'm in /wp-admin/ at least several times a day 17 00:00:51,319 --> 00:00:54,424 I know pretty much everything you can do in there 18 00:00:54,424 --> 00:00:56,890 I manage some content 19 00:00:56,890 --> 00:01:00,903 I do a lot of WordPress administrative stuff 20 00:01:00,903 --> 00:01:06,047 I install plugins and activate themes 21 00:01:06,047 --> 00:01:08,497 so I would consider myself a Power User 22 00:01:09,641 --> 00:01:14,011 I also know HTML, 'cause I'm a designer 23 00:01:14,028 --> 00:01:16,973 I really love making themes for WordPress 24 00:01:16,973 --> 00:01:19,226 so I have that skill set as well 25 00:01:19,226 --> 00:01:23,323 HTML and CSS 'cause you have to know CSS 26 00:01:23,323 --> 00:01:26,653 if you know HTML 27 00:01:26,673 --> 00:01:29,268 I don't know PHP -- I really don't 28 00:01:29,268 --> 00:01:33,762 I can, like, see kinda what's going on 29 00:01:33,762 --> 00:01:38,971 and I can move things around and sorta follow it 30 00:01:38,971 --> 00:01:40,964 but if you gave me a blank file 31 00:01:40,964 --> 00:01:43,156 and said "do Hello World in PHP" 32 00:01:43,156 --> 00:01:45,626 I'd be like "sorry" 33 00:01:48,337 --> 00:01:51,562 So I imagine there's a bunch of folks in this room 34 00:01:51,562 --> 00:01:53,052 that have similar skill sets 35 00:01:53,052 --> 00:01:56,651 or maybe you've never even used WordPress yet. 36 00:01:56,651 --> 00:01:59,570 We can do cool stuff for WordPress, too. 37 00:01:59,570 --> 00:02:04,060 We can also use WordPress' more advanced functionality 38 00:02:04,060 --> 00:02:07,995 That they're talking about in the room upstairs 39 00:02:07,995 --> 00:02:11,144 and has also been mentioned down here as well 40 00:02:13,634 --> 00:02:15,482 So, what I'm gonna do 41 00:02:15,482 --> 00:02:18,142 is I'm going to go through a few key 42 00:02:18,151 --> 00:02:19,851 WordPress development terms 43 00:02:19,851 --> 00:02:23,219 that have been thrown around in this room and upstairs 44 00:02:23,219 --> 00:02:25,813 and I going to explain what they are, 45 00:02:25,813 --> 00:02:29,713 what they do and how you can take advantage of them as well 46 00:02:33,600 --> 00:02:37,630 First off...The WordPress Template Hierarchy! 47 00:02:39,482 --> 00:02:41,552 According to the Codex: 48 00:02:51,707 --> 00:02:53,527 The translation of that is 49 00:02:59,800 --> 00:03:02,795 Often times -- at least once -- on someone's slides 50 00:03:02,795 --> 00:03:05,804 during a WordCamp, this chart that shows 51 00:03:05,804 --> 00:03:09,015 exactly how this naming convention works shows up 52 00:03:09,015 --> 00:03:11,567 It looks something like this 53 00:03:11,567 --> 00:03:14,911 Oh my God, holy crap look at that! 54 00:03:14,911 --> 00:03:16,631 It's like what? 55 00:03:20,315 --> 00:03:23,648 It looks kinda complicated and overwhelming 56 00:03:23,648 --> 00:03:25,519 and when I see it come up in a slide 57 00:03:25,519 --> 00:03:26,763 people are like "woah" 58 00:03:26,763 --> 00:03:28,891 But it's really pretty simple 59 00:03:28,901 --> 00:03:32,187 You just follow along the chart 60 00:03:32,187 --> 00:03:35,001 to see exactly what you need to name your template file 61 00:03:35,001 --> 00:03:37,153 in order to have it apply to a certain kind of page 62 00:03:37,153 --> 00:03:39,917 So in this example I m going to talk about 63 00:03:39,917 --> 00:03:42,807 Category Archives, meaning that when you click on a post 64 00:03:42,825 --> 00:03:45,911 and see the categories and you click on a category 65 00:03:45,911 --> 00:03:48,961 and see that page of posts 66 00:03:52,248 --> 00:03:55,086 So first I want to talk about template files 67 00:03:55,086 --> 00:03:56,829 So when you have a theme 68 00:03:56,829 --> 00:03:58,465 Like Twenty Twelve 69 00:03:58,465 --> 00:04:00,946 Your theme is made up of all these PHP files 70 00:04:00,946 --> 00:04:03,032 And some of these PHP files are template files 71 00:04:03,032 --> 00:04:05,790 They are the files that determine how your content 72 00:04:05,790 --> 00:04:07,535 is going to look on a page or post 73 00:04:07,535 --> 00:04:10,412 It could be a part of the page 74 00:04:10,412 --> 00:04:13,662 or it could control the entire page and how it's going to look 75 00:04:16,372 --> 00:04:19,082 It's kinda like frames for your content, right? 76 00:04:20,472 --> 00:04:24,427 Here on one side we have picture on left/words on right 77 00:04:24,427 --> 00:04:25,964 That's what your template files do 78 00:04:25,964 --> 00:04:30,674 They determine how the pages are going to lay out when they load 79 00:04:34,166 --> 00:04:37,866 So these template files control the way different pages look 80 00:04:37,866 --> 00:04:41,931 For instance, the main blog page, meaning the page you go to 81 00:04:41,931 --> 00:04:45,719 When you see a list of all your posts, the default page for WordPress 82 00:04:45,719 --> 00:04:48,339 A regular, plain old content page. 83 00:04:49,092 --> 00:04:51,339 Archive pages - what an archive page is 84 00:04:51,339 --> 00:04:53,809 Is when you have a post and you have 85 00:04:53,809 --> 00:04:59,639 tags, categories or author or date 86 00:04:59,656 --> 00:05:02,476 and you click on those those different parts of a post 87 00:05:02,508 --> 00:05:07,196 and you see all posts related to that tag, category, etc. 88 00:05:07,196 --> 00:05:09,746 That's called an archive page 89 00:05:09,746 --> 00:05:12,507 And other pages as well they are all controlled 90 00:05:12,507 --> 00:05:14,537 by template files 91 00:05:16,678 --> 00:05:19,679 So going back to the WordPress Template Hierachy 92 00:05:19,679 --> 00:05:20,910 How does that work? 93 00:05:20,910 --> 00:05:23,860 Well, if I have a category called "kittens" 94 00:05:23,869 --> 00:05:30,308 I just have a file named "category-kittens.php" 95 00:05:30,308 --> 00:05:35,778 And if that file exists - when I click on that category archive 96 00:05:35,778 --> 00:05:37,731 it's going to use that file. 97 00:05:37,731 --> 00:05:42,021 If that file doesn't exist, it's going to look for "category.php" 98 00:05:42,021 --> 00:05:46,241 That is the template file used to render all category pages 99 00:05:46,241 --> 00:05:49,577 If that file doesn't exist then it's going to go to "archive.php" 100 00:05:49,577 --> 00:05:51,957 That is the page for all archives 101 00:05:51,957 --> 00:05:56,594 For tags, date, author, category...if it doesn't have 102 00:05:56,594 --> 00:06:00,060 a file that applies to it it's going to use that file 103 00:06:00,060 --> 00:06:03,444 And then, at the end of the road, is index.php 104 00:06:03,444 --> 00:06:08,521 And that is the file used to display typically all your posts 105 00:06:08,521 --> 00:06:10,121 Like your "blog" page 106 00:06:10,121 --> 00:06:13,606 That's the end of the road in the Template Hierarchy 107 00:06:13,606 --> 00:06:18,606 If no other no other file exists it's going to default to that one 108 00:06:22,496 --> 00:06:28,390 So, in this example, I have plain old Twenty Twelve 109 00:06:28,880 --> 00:06:32,520 I have some sample content in it 110 00:06:34,981 --> 00:06:38,220 And here I have this one categorized as "kittens" 111 00:06:38,220 --> 00:06:42,470 And this one I did make a "category-kittens.php"file 112 00:06:42,470 --> 00:06:45,090 It uses the category slug 113 00:06:45,090 --> 00:06:48,657 meaning if you look at your list of categories and it says "slug" 114 00:06:48,657 --> 00:06:52,307 You can use "categories-[slug]" or you can use the category ID 115 00:06:55,237 --> 00:07:00,591 So for that category I used this lovely template of awesome kittens 116 00:07:00,591 --> 00:07:03,341 And then I also took off the sidebar 117 00:07:03,895 --> 00:07:07,275 So that is my special template for that "kittens"category 118 00:07:16,626 --> 00:07:23,070 If I click on "Dogs"it just uses the default "category.php" 119 00:07:23,070 --> 00:07:28,050 Which is regular content/sidebar - everything's normal 120 00:07:33,751 --> 00:07:36,381 So WordPress Template Hierarchy, how can we all use it? 121 00:07:36,395 --> 00:07:39,403 Power Users, look for themes or theme frameworks 122 00:07:39,403 --> 00:07:44,482 that allow you to create these template files 123 00:07:44,482 --> 00:07:48,014 and apply special styles to or different layouts to 124 00:07:48,014 --> 00:07:50,842 specific categories or tags or certain pages of a site. 125 00:07:50,842 --> 00:07:54,092 There are theme frameworks that will allow you to do it without code 126 00:07:54,092 --> 00:07:55,394 all drag-n-drop 127 00:07:55,394 --> 00:07:57,013 And designers, just make them! 128 00:07:57,013 --> 00:08:01,275 You should be using a theme that's meant to be changed or 129 00:08:01,275 --> 00:08:04,919 a child theme of another theme that is not meant to be changed 130 00:08:04,919 --> 00:08:07,590 but you can actually go in and just make these files yourself 131 00:08:07,590 --> 00:08:09,910 and make your website look awesome 132 00:08:13,204 --> 00:08:16,994 Next up is The Loop! 133 00:08:19,810 --> 00:08:24,450 Codex says: 134 00:08:26,841 --> 00:08:30,871 The Loop is really just a set of instructions that lives in a template file 135 00:08:30,871 --> 00:08:33,781 that grabs content and displays in on a page 136 00:08:35,618 --> 00:08:39,998 Or The Loop's kinda like making sandwiches 137 00:08:41,078 --> 00:08:49,568 So when you assemble a sandwich you have a certain set of ingredients in a certain order in which you put them 138 00:08:50,570 --> 00:08:55,220 And then you repeat the process, repeat the process until you have as many sandwiches as you need 139 00:08:55,220 --> 00:09:00,100 It's called a "Loop" because you can repeat this loop more than once on a page 140 00:09:01,154 --> 00:09:05,841 So in a WordPress loop there's the 2 main components 141 00:09:05,841 --> 00:09:09,028 There's "Title" and "Content" for a page or post 142 00:09:09,028 --> 00:09:12,488 They're like the slices of bread in our sandwich 143 00:09:13,827 --> 00:09:18,063 And then there's additional content, aka "Metadata" which is like the ingredients in our sandwich 144 00:09:18,063 --> 00:09:24,708 You can have author, date, featured image, categories or tags for posts, etc. etc. 145 00:09:24,708 --> 00:09:29,278 There's a lot of additional information you can put in a page or post 146 00:09:32,953 --> 00:09:37,676 When you are making sandwiches for people what if somebody's vegan 147 00:09:37,676 --> 00:09:41,428 What if somebody wants wheat bread instead of white bread? 148 00:09:41,428 --> 00:09:50,052 You can do this as well with your loop, you can have specific instructions as to what information is going to show in the loop 149 00:09:50,052 --> 00:09:53,882 So you can say "only show posts from a certain category" 150 00:09:53,882 --> 00:09:58,062 Or if a post has a certain tag add this style to it 151 00:09:58,062 --> 00:10:02,642 Or if a post is tagged with a certain tag, don't show it at all 152 00:10:08,093 --> 00:10:14,118 Here is an example of a custom loop we did for this movie blog site called "Movie Fanfare" 153 00:10:14,118 --> 00:10:25,028 Instead of the usual layout we're using , for instance the featured image for every post 154 00:10:25,028 --> 00:10:28,596 We're only showing tags, we're not showing categories 155 00:10:28,596 --> 00:10:34,212 And we're using the Excerpt instead of the full content of the post 156 00:10:34,212 --> 00:10:36,732 So this is a customized loop 157 00:10:43,699 --> 00:10:45,910 So how everyone here can use it. 158 00:10:45,910 --> 00:10:51,669 Power Users, same thing, use a theme or a theme framework that will allow you to modify your post page 159 00:10:51,669 --> 00:10:57,394 And designers, just do it yourself. They WordPress Codex has a really great article called "The Loop in Action" 160 00:10:57,394 --> 00:11:01,314 It'll show you how to modify the WordPress Loop 161 00:11:05,702 --> 00:11:07,653 Custom Post Types! 162 00:11:07,653 --> 00:11:09,927 We talked about Custom Post Types a lot in this room today 163 00:11:09,927 --> 00:11:12,997 They're one of my favorite things about WordPress 164 00:11:15,738 --> 00:11:19,958 The Codex says: 165 00:11:23,549 --> 00:11:27,448 The translation is, you know how you have pages and posts, right? 166 00:11:27,448 --> 00:11:29,863 Everybody familiar with Page and Posts? 167 00:11:29,863 --> 00:11:32,783 Well you can actually make up your own 168 00:11:32,783 --> 00:11:36,540 In addition to Pages and Posts you can make up your own post types 169 00:11:41,340 --> 00:11:44,021 Page and Post are both Post Types 170 00:11:44,021 --> 00:11:49,121 They're similar in that they have their own item in the Admin area 171 00:11:49,121 --> 00:11:54,752 They have consistent input, meaning that when you when you enter a post 172 00:11:54,752 --> 00:11:58,992 you have Title, Content, Tags, Categories, Excerpt... 173 00:11:58,992 --> 00:12:04,863 You have these fields in the admin where it's consistent from one post to another 174 00:12:04,863 --> 00:12:08,313 and you can choose to use as many as you want 175 00:12:08,588 --> 00:12:12,903 And then they have, for the most part, a consistent output 176 00:12:12,903 --> 00:12:18,160 You have template files that render page and posts a similar way every time 177 00:12:18,160 --> 00:12:23,405 So you can really control how these things look and how they're entered 178 00:12:23,405 --> 00:12:26,338 The information is cleaner 179 00:12:26,338 --> 00:12:32,559 Instead of having a big content area you have these sections 180 00:12:35,489 --> 00:12:38,669 So with Custom Post Types you can do the same thing 181 00:12:38,669 --> 00:12:44,670 You can create a Custom Post Type, in addition to pages and posts, that follow the same rules 182 00:12:44,674 --> 00:12:54,375 They have their own sets of fields, they're in the admin, they have their own little icon on the left hand side -- a cute little graphic for it 183 00:12:54,375 --> 00:13:01,136 They're consistent, you can put information into fields 184 00:13:01,136 --> 00:13:05,062 And then they render on the front of the site they are consistent there as well 185 00:13:05,062 --> 00:13:08,344 You can make them look however you want with templates 186 00:13:08,344 --> 00:13:11,639 So instead of just Pages and Posts you can have stuff like 187 00:13:11,639 --> 00:13:22,146 Staff, Recipes, Products, Jobs...really anything that would benefit from having this consistent set of fields 188 00:13:22,146 --> 00:13:26,926 that's easy to enter in all the data instead of a big content area 189 00:13:31,260 --> 00:13:35,869 Also, along with Custom Posts Types, there are also Custom Taxonomies 190 00:13:35,869 --> 00:13:40,189 All a taxonomy means is it's a way to group things together 191 00:13:40,189 --> 00:13:45,892 WordPress by default has 2 taxonomies, categories and tags 192 00:13:45,892 --> 00:13:50,072 They're a way to group information together - to group posts 193 00:13:52,717 --> 00:13:56,740 With Custom Post Types you can also create these custom taxonomies 194 00:13:56,740 --> 00:13:59,432 So let's say we has a post type called "Movies" 195 00:13:59,432 --> 00:14:05,420 We could create custom taxonomies called Genre, Year, Director, Rating, etc. 196 00:14:05,420 --> 00:14:12,927 The advantage to that is if you had a movie post you could then click on Genre, Year, Director, whatever 197 00:14:12,927 --> 00:14:18,848 And see all of the posts related to that director, all with that rating 198 00:14:18,848 --> 00:14:22,528 And then you could browse all of them in a list 199 00:14:26,257 --> 00:14:31,767 An example of custom post types is we make a site for Static Guard 200 00:14:31,767 --> 00:14:42,971 and we made them a site with 3 Custom Post Types: Products, Tips and Stylists 201 00:14:47,511 --> 00:14:54,310 For the people who have to manage the site going forward, it's really easy 202 00:14:54,310 --> 00:14:59,376 Instead of having to put everything into a big content area and hope that they format it correctly 203 00:14:59,376 --> 00:15:05,826 We just made them a custom post type to enter in all the information in the back end 204 00:15:05,835 --> 00:15:11,395 We made them a template that renders all the information in the way they want it to look 205 00:15:15,465 --> 00:15:22,948 And then another nice thing about the custom taxonomies is that you can browse by the different taxonomies 206 00:15:22,948 --> 00:15:25,694 We have Occasions and Seasons 207 00:15:25,694 --> 00:15:31,923 And they can create these, add these and manage the navigation on the left-hand side 208 00:15:31,923 --> 00:15:38,483 It's a really great way to make content management easy for site owners 209 00:15:44,969 --> 00:15:47,867 How can you take advantage of Custom Post Types? 210 00:15:47,867 --> 00:16:00,642 Power Users - There is a plugin made by Brad (WebDev Studios). He made a plugin that allows you to create Custom Post Types without code 211 00:16:00,642 --> 00:16:06,556 You can just do everything visually in the admin and there are similar plugins 212 00:16:06,556 --> 00:16:11,996 And themes that have Custom Post Types built into them where you can create them yourself 213 00:16:12,266 --> 00:16:17,226 And designers, code your own - really! Really, you can code your own. 214 00:16:17,226 --> 00:16:23,548 I have another talk all about custom post types for designers it's on wordpress.tv and you can check it out 215 00:16:23,548 --> 00:16:31,771 With no PHP skills, well, very little, you can make Custom Post Types yourself 216 00:16:31,771 --> 00:16:33,439 And it's really empowering and fun 217 00:16:33,439 --> 00:16:36,619 I always say that WordPress makes me fancier than I really am 218 00:16:40,932 --> 00:16:45,482 Here's the big one - Hooks, Actions and Filters 219 00:16:47,340 --> 00:16:53,194 The Codex has a lot to say about Hooks, Actions and filters. I'm not going to read it all to your now. 220 00:16:53,194 --> 00:16:58,522 But pretty much it says Hooks, Actions and Filters allow you to change WordPress functionality without breaking it 221 00:16:58,762 --> 00:17:08,677 The #1 rule of WordPress development is never, ever, EVER change Core code ever! 222 00:17:08,677 --> 00:17:10,355 Just don't do it 223 00:17:10,355 --> 00:17:25,665 The great thing about WordPress is it allows you to tap in to it's existing functionality through hooks and then modify it 224 00:17:30,245 --> 00:17:37,969 A hook is just a point at which WordPress allows you to tap into existing functionality and safely modify it 225 00:17:37,969 --> 00:17:40,614 Some examples - WordPress does a lot of things, right? 226 00:17:40,614 --> 00:17:47,092 It shows excerpts, you admin menus, custom post types, sidebars... 227 00:17:47,092 --> 00:17:53,492 You have all these things, all these functions that happen when WordPress does its thing 228 00:17:53,492 --> 00:18:00,560 Hooks are points at which WordPress allows you to make a function that hooks into that and changes it 229 00:18:02,660 --> 00:18:04,640 There's two ways that you can change it 230 00:18:04,640 --> 00:18:09,185 An Action is a hook that makes something new happen when it's triggered 231 00:18:09,202 --> 00:18:18,671 For instance, let's say you want to add a little bit of content or a sharing button after every post 232 00:18:18,671 --> 00:18:25,084 You can make a little function that says "when you show a post add this content after it" 233 00:18:25,084 --> 00:18:31,064 That's an Action - something new is happening when WordPress functionality is triggered 234 00:18:34,429 --> 00:18:39,759 Filters - a hook that modifies a WordPress function when it's triggered 235 00:18:41,139 --> 00:18:45,744 Instead of making something new happen it modifies an existing function 236 00:18:45,744 --> 00:18:55,637 For instance "excerpts" in WordPress are by default 55 words long 237 00:18:55,637 --> 00:19:05,174 You can make a filter that says "instead of using 55 words I want you to show 75 words" or "I want you to show 30 words" 238 00:19:05,174 --> 00:19:12,494 That's a filter, because you're changing functionality instead of making something new happen 239 00:19:14,907 --> 00:19:18,058 This is now when I'm going to ask my friend Courtney to come up 240 00:19:18,058 --> 00:19:24,678 I'm going to show you a visual illustration of Hooks, Actions and Filters 241 00:19:26,199 --> 00:19:27,899 This is Courtney 242 00:19:29,391 --> 00:19:31,061 Courtney: Hi 243 00:19:31,979 --> 00:19:34,709 Ok, Courtney, so wave to everybody 244 00:19:36,518 --> 00:19:40,614 Alright, so, waving is a typical function that human beings do, right? 245 00:19:40,614 --> 00:19:43,584 Most people wave 246 00:19:54,157 --> 00:19:58,067 Well, what if we put hook on her waving functionality? 247 00:20:03,154 --> 00:20:07,710 So I wrote a little function that says "When you wave say Hello" 248 00:20:07,710 --> 00:20:12,070 This is an Action - something new is happening in addition to the regular waving 249 00:20:12,070 --> 00:20:14,600 Let's try it out, let's run this function 250 00:20:18,031 --> 00:20:22,571 Courtney "Hello, Hello, Hello" 251 00:20:24,277 --> 00:20:26,907 Awesome, my code worked 252 00:20:32,049 --> 00:20:36,409 Alright this is an example of a filter - I am going to change her default wave 253 00:20:37,202 --> 00:20:41,014 it says "When you wave wiggle your fingers" 254 00:20:41,014 --> 00:20:42,934 Let's try it 255 00:20:48,419 --> 00:20:52,049 Alright - yay! Thank you 256 00:20:52,919 --> 00:20:55,238 Do you understand? Is it making sense? 257 00:20:55,238 --> 00:20:58,148 Good, awesome - Hooks / Actions / Filters 258 00:21:00,976 --> 00:21:03,086 Thank you, Courtney 259 00:21:06,753 --> 00:21:11,167 What do Hooks, Actions and Filters do? They make WordPress awesome 260 00:21:11,167 --> 00:21:15,985 They're the reason that WordPress is a fantastic way to build a website 261 00:21:15,985 --> 00:21:23,325 Really, the sky's the limit with what you can do with WordPress because of Hooks, Actions and Filters 262 00:21:27,594 --> 00:21:32,394 Power User, if you've ever used a plugin you're already using Hooks, Actions and Filters 263 00:21:32,407 --> 00:21:38,021 Plugins hook into WordPress to do new things, additional things 264 00:21:38,021 --> 00:21:43,019 Designers, you can just add functionality to your themes 265 00:21:43,019 --> 00:21:49,336 There's a great article in the WordPress Codex on theme development 266 00:21:49,336 --> 00:21:57,499 But really, if you do things like add sidebars, add menus, add post types you'll be taking advantage of Hooks, Actions and Filters 267 00:22:02,479 --> 00:22:11,571 I have some resources: The WordPress Codex, I'm in there 50 times a day it feels 268 00:22:11,571 --> 00:22:19,131 It has the best information on using this functionality and what it is and how to do it 269 00:22:19,131 --> 00:22:26,280 There's also articles on more WordPress terminology than just the 4 I covered today 270 00:22:26,280 --> 00:22:31,095 And then there's this really handy Custom Post Type Generator 271 00:22:31,095 --> 00:22:37,316 It's web-based and you put all the information and then you hit a buttons and it creates all the code for you 272 00:22:37,316 --> 00:22:43,243 And then there's a great article on WordPress theme frameworks for all you Power Users out there 273 00:22:43,243 --> 00:22:49,573 To find different frameworks, what they can do and what they allow you to do without knowing code 274 00:22:52,882 --> 00:22:56,320 And, that's the end 275 00:22:56,320 --> 00:22:59,035 (Applause) Thank you! 276 00:22:59,035 --> 00:23:03,835 Moderator: Very Cool, we've got time for some questions 277 00:23:06,243 --> 00:23:08,843 You know everything you need to know now, right? 278 00:23:19,551 --> 00:23:30,331 Audience member: Hi, I've always been puzzled about tags and categories. When would you use a tag, when would you use a category - when would you use one over the other 279 00:23:31,215 --> 00:23:39,845 I guess there is some personal preference to it, but I use categories for major groupings of posts 280 00:23:41,363 --> 00:23:48,946 I had a blog about a Green Building project that we did 281 00:23:48,946 --> 00:24:03,316 And I had major categories like "building"or "insulation" -- major groupings of information 282 00:24:03,322 --> 00:24:09,060 Tags I think more of keywords - terms that would bring your posts up in a search 283 00:24:09,060 --> 00:24:16,652 Like "red" not something that is a major grouping of information, but more like keywords 284 00:24:16,652 --> 00:24:20,557 If people were searching by keywords your posts would pop up 285 00:24:20,557 --> 00:24:23,757 Does that make sense? Cool 286 00:24:24,994 --> 00:24:27,944 Moderator: Anybody else? 287 00:24:36,964 --> 00:24:42,094 Audience member: When you're setting up custom post types, say, like you had your example "recipes" 288 00:24:42,094 --> 00:24:47,140 So you'd have name, ingredients, something like that 289 00:24:47,140 --> 00:24:51,163 What's the next mechanism to get that to output? You have to make a template for that? 290 00:24:51,163 --> 00:24:52,611 Tracy: You have to make a template, yes 291 00:24:52,611 --> 00:24:55,895 Audience member: So you create a template just for that and then link those together 292 00:24:55,895 --> 00:24:58,361 Tracy: Right, and if you even know just HTML it's not hard. 293 00:24:58,361 --> 00:25:05,578 You can make little "if there is content in this field then show it" 294 00:25:05,578 --> 00:25:11,237 And you can put all your nice html tags around it and style it all pretty and now you have a recipes page 295 00:25:13,807 --> 00:25:17,952 And it uses the WordPress Template Hierarchy - that first thing we looked at 296 00:25:17,952 --> 00:25:22,904 To show your Custom Post Types and Custom Taxonomies 297 00:25:22,904 --> 00:25:24,944 That's in the mix as well 298 00:25:26,194 --> 00:25:31,939 Audience Member: Hi thank you for giving us hope that you can do all this without knowing PHP number one 299 00:25:31,939 --> 00:25:40,258 And number two you keep mentioning there's a plugin for this, there's a plugin for that, but you're not mentioning any plugins. Can you mention a few? 300 00:25:40,258 --> 00:25:54,633 Tracy: Yes, well, all the slides are up on Slideshare and there I have a lot more words in the slides and I have lots of links to the different plugins 301 00:25:54,633 --> 00:25:59,573 The one plugin by Brad, who's here, is called "Custom Post Types UI" 302 00:26:01,921 --> 00:26:06,577 and that's how you can make a Custom Post Type in the WordPress admin 303 00:26:06,577 --> 00:26:08,407 Without code 304 00:26:15,649 --> 00:26:23,378 Audience member: I went through the learning curve of doing a website for the first time 305 00:26:23,378 --> 00:26:32,941 and then I purchased some plugins and then I found out that in doing so 306 00:26:32,941 --> 00:26:36,761 they can make your website less secure coud you speak to that? 307 00:26:37,476 --> 00:26:45,674 Sure, just like Kathryn talked about earlier, you really have to vet the plugins that you're using 308 00:26:45,674 --> 00:26:58,666 You look at the ratings, you see how often it's updated, how often support tickets are resolved, how many people have downloaded it... 309 00:26:58,666 --> 00:27:01,462 That's a good way to vet a plugin 310 00:27:01,462 --> 00:27:08,798 But still, even plugins that are well supported can still have security vaunerabilites 311 00:27:08,798 --> 00:27:13,962 At that point you have to look to your hosting. 312 00:27:13,962 --> 00:27:21,832 WPEngine are here today and they have really great security measures in place 313 00:27:21,832 --> 00:27:25,167 They have plugins that they just don't allow you to use 314 00:27:25,167 --> 00:27:30,472 So you can feel better that your site's going to be fast and it wont get hacked 315 00:27:30,472 --> 00:27:35,471 Because they have a firewall in place for your website 316 00:27:37,951 --> 00:27:44,375 You shouldn't load your website down with plugins, that could be true or not, the plugins could be great 317 00:27:44,375 --> 00:27:50,511 You have to make sure you have a good hosting solution that provides an extra layer of safety 318 00:27:50,511 --> 00:27:53,233 And then just keep on top of things 319 00:27:53,233 --> 00:28:00,526 You can sign up for different WordPress twitter accounts, blogs or RSS feeds - 320 00:28:00,526 --> 00:28:05,137 and the news gets out pretty quickly if there's a security vulnerability found in a plugin 321 00:28:05,137 --> 00:28:09,767 So that's a good way to keep on top of those things 322 00:28:10,485 --> 00:28:15,175 Moderator: One last question if anybody has one 323 00:28:17,407 --> 00:28:23,753 Audience Member: Great talk. So the part I struggle with with Custom Post Types 324 00:28:23,753 --> 00:28:33,709 Is in the admin section, how to make custom fields so my client for example has say a custom post type called "Testimonials" 325 00:28:33,709 --> 00:28:40,701 And every time they have to add just like the author, or not like a big content piece but almost the size of an excerpt 326 00:28:40,701 --> 00:28:46,020 Where do I begin to dabble in that so I can manipulate the admin area 327 00:28:46,020 --> 00:28:49,167 Tracy: If you don't want to do it at the code level, or even if you do 328 00:28:49,167 --> 00:28:57,164 there's really great tutorials out there that show you exactly how to style meta data in the admin for Custom Post Types 329 00:28:57,164 --> 00:29:08,416 There's also a really great plugin called Advanced Custom Fields - it was mentioned earlier in the day 330 00:29:08,416 --> 00:29:16,379 But that's a great plugin. So if you don't want to mess around with code and figure out how to render your metadata in your Custom Post types, use that plugin 331 00:29:16,379 --> 00:29:22,371 It has awesome things like date pickers - it has a really nice interface 332 00:29:22,371 --> 00:29:30,011 And it allows you to pretty much drag-and-drop add these meta data fields - that's a good way to go 333 00:29:31,953 --> 00:29:34,801 Audience Member: Great talk, thank you very much I appreciate it 334 00:29:34,801 --> 00:29:37,477 Other than Brad's plugin which I am familiar with which is great 335 00:29:37,477 --> 00:29:43,391 There's a fantastic set or package of plugins which you don't have to fool with PHP 336 00:29:43,391 --> 00:29:48,606 Called WP Type and Views including forms and everything 337 00:29:48,606 --> 00:29:55,623 They're even working on Hooks and Filters without having to mess with any PHP whatsoever 338 00:29:55,623 --> 00:29:58,939 It's pretty cool you can build listing sites with them 339 00:29:58,939 --> 00:30:02,818 Your own themes using it without knowing any PHP 340 00:30:02,818 --> 00:30:05,058 I just wanted to put that out there 341 00:30:07,307 --> 00:30:12,821 It's called Types and Views and they're doing a fabulous job on the development of it 342 00:30:12,821 --> 00:30:14,889 It's pretty cool 343 00:30:14,889 --> 00:30:17,979 It's a plugin 344 00:30:23,344 --> 00:30:27,474 Moderator: Another huge round of applause. Thank you very much, Tracy