Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Handling multiple post type templates: Consolidating everything in one file

From: Create an Online Portfolio with WordPress

Video: Handling multiple post type templates: Consolidating everything in one file

In the last movie, we created three custom posts type templates, one for each of our custom posts types. However, as you can see, most of the content in each of our custom posts type templates is exactly the same. The only thing that really changes is where the taxonomy information appears and the conditional statements around it. So wouldn't it make more sense to make just one file that had all the template information and then just reference that file from outside, so that it applies to each of the custom posts types? That would mean we had one file that we could edit, rather than three.

Handling multiple post type templates: Consolidating everything in one file

In the last movie, we created three custom posts type templates, one for each of our custom posts types. However, as you can see, most of the content in each of our custom posts type templates is exactly the same. The only thing that really changes is where the taxonomy information appears and the conditional statements around it. So wouldn't it make more sense to make just one file that had all the template information and then just reference that file from outside, so that it applies to each of the custom posts types? That would mean we had one file that we could edit, rather than three.

So that's what we're going to do. Just so there is no confusion, I've reset the theme back to where it was at the end of the third movie of this chapter. That means we only have one file here called content-recipes, and the other ones are gone. So we'll start off by opening that file and resave it as custom-content.php. The reason I'm resaving it is just so I don't have to copy and paste it over. I could just as easily have created a new file called custom-content.php and then copied all the content over.

Now the custom-content.php contains all our template information, I'm going to go in and change content- recipes.php by taking out all the template information and replace it with a simple call to custom-content.php. This is the exact same technique we used to create our abstraction layer in the theme for our custom posts types file. However, I'm going to use a WordPress function to call in the content, because it's easier to manage. The function was called get_template_part.

In it we just add the variable of the name of the content we want to call in. So I'll say custom-content and you don't need to add the .php here. This custom-content tells WordPress to look for a file that's called custom-content, which is exactly what we want. So now I'll add a semicolon at the end to end the line and then save it. If everything works properly now, the recipes page just exactly the same. So if I reload it, we're seeing the same content, the only difference is we are now not seeing the template files from content-recipes; we're seeing it from custom-content.

Likewise, if I reload for instance the photo page, there should be no change. I'm sure you've already figured out what the next step is. All I need to do now to apply the custom- content template to photos is to resave content-recipes as content-photos. So I'll go and rename it. And I'll do the same for videos. So I'll just resave it again, content-videos.

So now we have three files, photos, recipes, and videos, that all point to one file, custom-content. And when I reload my Photos page now, we'll see the custom taxonomy information appear at the top, and the same thing happens with videos. That means my single target file works. Now I need to change my template so that it displays the content I want in the place I want. For instance, all this taxonomy information should only appear on recipes.

It should not appear on photos or videos. So I'm going to go into custom-content and add a new conditional statement that tests whether or not the current post type is recipes, and then displays the taxonomy information only if that's the case. So I'll go down to where the entry- meta-custom starts and I'll add a new conditional statement at the top here. The conditional statement is a regular if statement, so I'll say if and then I'll ask WordPress, what is the current custom post type? So I'll say get_post_type and then if it equals, so two equal signs, recipes, then run everything underneath.

And then I just remember to end my conditional statement at the very bottom underneath the end of the div. So I'll add the end bracket here. When I now save this, WordPress will test to see if the post_type is recipes and if so, it will display all of this content. Going back to the browser and reloading the recipe nothing has changed, but if you reload a photos page or a videos page, the taxonomy information no longer displays.

Now that we've done that, we can add the taxonomy information for the photos and the videos where we want it. Because this requires a bit of extra code, I've created a code snippet for you. So if you scroll down to footer entry- meta and then go into our code snippets, you'll find here at the bottom the footer class code snippets. So if you copy this and you paste it in right here starting with the footer class, I'll explain to you what happens.

This stack is exactly as the one before, except we're testing for two types of posts. So it says if get the post_type equals photos or get the post_type equals videos-- These two pipes is how you'd say Or. A pipe by the way is created by hitting Shift+Backslash on your US English keyboard. If I save my template again and reload Videos page, we'll now see the video taxonomy information appear at the bottom.

Likewise, if I reload the photos page, we'll see the photos taxonomy information appear at the bottom and the Recipes page shows no change. By using conditional statements in a smart way and placing all my content in one central location, it makes it easier for me later to make sweeping changes to the entire site. Of course, this only applies if all your templates are roughly the same. In my case, that is the case, so I'm going to stick with it.

But we can take this one step further and make it even easier to manage. And that's what I'll address in the next movie, and what I address in the next movie is going to be what's used for the rest of the course as well.

Show transcript

This video is part of

Image for Create an Online Portfolio with WordPress
Create an Online Portfolio with WordPress

40 video lessons · 28607 viewers

Morten Rand-Hendriksen
Author

 
Expand all | Collapse all
  1. 6m 28s
    1. Welcome
      58s
    2. Using the exercise files
      3m 54s
    3. Using the code snippets file
      1m 36s
  2. 8m 31s
    1. What is an online portfolio?
      2m 43s
    2. Tour of the finished project
      3m 15s
    3. Setting up a WordPress development environment
      2m 33s
  3. 16m 10s
    1. Creating site architecture
      5m 1s
    2. Creating a child theme
      6m 7s
    3. Creating an external file to manage functions separately from the theme
      5m 2s
  4. 25m 26s
    1. What is a custom post type?
      2m 14s
    2. Setting up a custom post type
      6m 39s
    3. Adding advanced variables to the custom post type
      3m 35s
    4. Advanced custom post type functionalities
      4m 29s
    5. Changing the menu position of the custom post type
      3m 19s
    6. Adding a custom post type icon
      5m 10s
  5. 22m 8s
    1. What are custom taxonomies?
      3m 34s
    2. Setting up a basic custom taxonomy
      2m 52s
    3. Hooking a custom taxonomy to a post type
      3m 13s
    4. Adding advanced variables to a custom taxonomy
      3m 9s
    5. Using hierarchical and nonhierarchical custom taxonomies
      5m 54s
    6. Using custom taxonomies in admin
      3m 26s
  6. 25m 40s
    1. Populating content into the custom post types
      10m 54s
    2. Uploading videos to YouTube
      2m 22s
    3. Embedding YouTube videos in a custom post type
      4m 23s
    4. Uploading videos to WordPress
      8m 1s
  7. 39m 47s
    1. Creating custom post type templates
      6m 50s
    2. Adding taxonomy info to the custom post type template
      9m 13s
    3. Creating conditional custom taxonomy links
      4m 46s
    4. Handling multiple post type templates: Individual templates
      6m 25s
    5. Handling multiple post type templates: Consolidating everything in one file
      6m 21s
    6. Handling multiple post type templates: Making custom post types the default
      6m 12s
  8. 15m 23s
    1. Creating an index page for a custom post type
      8m 10s
    2. Creating a custom taxonomy index page
      7m 13s
  9. 12m 3s
    1. Creating a custom footer sidebar template
      6m 58s
    2. Displaying a list of links to the latest custom post type posts
      5m 5s
  10. 14m 58s
    1. Creating static pages for the front and the blog
      4m 54s
    2. Populating the menu with new index pages
      4m 52s
    3. Creating a contact page with a contact form
      5m 12s
  11. 5m 55s
    1. Including the abstraction layer in other stock themes
      5m 55s
  12. 1m 22s
    1. Next steps
      1m 22s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Create an Online Portfolio with WordPress.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.