Our website will be down for scheduled maintenance on Thursday, September 18, at 11 p.m. Pacific Time and should be back up by Midnight. We apologize for any inconvenience.

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

Working with the comments template

From: WordPress: Building Themes from Scratch Using Underscores

Video: Working with the comments template

Comments are an integral part of any WordPress In the theme unit test data, there's a And then below we have 18 more comments that are In this chapter, we'll work on the comments section, To trigger that effect, I'm going to open the dashboard in a separate tab.

Working with the comments template

Comments are an integral part of any WordPress site and knowing how comments are handled by WordPress gives you the power to change how comments appear and how people interact with them. In the theme unit test data, there's a post called template comments that contains 19 comments. And if you go down to the comment section, you'll see it starts off with a very long comment that has all of our HTML formatting just like our HTML formatting post. And then below we have 18 more comments that are displayed either as top level comments or as threaded replies.

Here you see we have threaded replies. In this chapter, we'll work on the comments section, we'll make the comments output the way we want, we'll style them, and we'll also work with the comments' form, which you'll find here at the bottom. But before we start, I need to reveal one more element within the comments template, and that is the comment's navigation. You see, right now, it's outputting all the comments on one page, but if you have a lot of comments, you may want to split them into separate pages so you don't have to load everything all at once. To trigger that effect, I'm going to open the dashboard in a separate tab.

Go to settings and discussion, and here you'll find an option called break comments into pages. So I'm going to set that number to 5, and then check it, and what happens now is I'll only show 5 top level comments per page. And that way even though we only have 20 comments on the page, I'll still get the comments navigation to appear. So if I now reload my post. I'll scroll to the top of my common section here. You'll see now we have navigation here saying older comments.

And when I scroll down you see we also have navigation arrow at the bottom. Just like when I worked with the single post template. When I work with the comments template, the first thing I want to do is make sure my mark up matches my over all layout. And in my single pulsed template design I also have a comment section. When I look at the comment section, I see I've changed the title. I've also removed the comments navigation from the top and then I have the actual comment and everything else looks quite normal. Now that I know what I need to change, I have to figure out how WordPress actually outputs the comments.

Comments are displayed on single posts and single pages, so I'm going to go to single.php to see how the comments are displayed. And here when I scroll down you'll see inside my loop, I have get template part content single which we worked with previously, I have My Simone post nav which we've worked with previously, and then I have the comments section. Here it tests whether or not comments are open, and we have comments and then it outputs the comments template. And this function is really smart. The comments template function first goes to the theme and checks whether or not there's a file called comments.php.

If there is a file called comments.php, then that file is used to display the comments. If not, then WordPress will fall back to its default comment output. In underscores we have a file called comments.php, so therefore I'm going to close single.php and open comments.php instead. In here we have the comments template for our theme. This template starts out with a simple test. Is password required for this poster page and if it is it just terminates immediately by returning. That way if you're going to password protected poster page you won't see the comments.

So that makes a lot of sense. Then we have the divider that sets apart the comments from the rest of the content. It starts with the ID comments. And below, we have a test that says if you have comments then output first the comments title which says one thought on or several thoughts on. Then we have the commons navigation at the top. The function WP list comments which lists out each of the comments, and you see that it's currently displayed as an ordered list, and it's displayed using the short ping function, which is a very clean markup.

And the conditional statement ends, and then we have a fallback for the situation where comments are closed. So here it just says comments are closed. Once all the comments are displayed, the comments template ends with the function called comment form which outputs the comment form. And now I can start working on my template to make it appear as I want. The first thing I want to do is change the title because right now the title says one thought on and then the name of the post. Or it says a number of thoughts on, and then the name of the post.

But I wanted to say one comment or a number of comments. So, if you look at this, you'll see this is a print up function just like what we've seen before and it's using that same markup where you have the percentage to dollar sign as and percentage one dollar sign is that are pointing to the two functions below. Here you have a comma separated list of functions. The first one, so number one, outputs the gets comments number function and the second one put the gets the title function.

And since I only want to display the words one comment or number of comments, I can simply take out the second option here. And then I'll change the wording to say one comment : or number of comments. Now that I've made my change, I'll need to go back in my template and check that it outputs properly and here you see it now says 19 comments matter. So now that works, the next thing I want to do is remove the header navigation. So, I'm going to scroll down here and simply find the top navigation and just delete all of it.

Then we have the commons list, I'm going to leave that alone for now. And then we have the bottom navigation. And here I want to change the output of the bottom navigation so that I can design it to match the post navigation but also wanted to add a couple of icons from font awesome that add arrows that point to the left and the right so it's clear that this is navigation. The first of the last process involves changing the actual output. So here you see we have two divs, div class nav previous and div class nav next, which is exactly the same as the post navigation.

So that's what separates the two, and puts them side by side. And then we have the actual output. And here, you see we have a left arrow, it says older comments and then newer comments, and a right arrow. So I'm just going to swap out these two lines of text here. So that they output the text along with the icons from font Awesome. See If you go to the code snippets, you'll find the whole nav section here. So you can just copy out the nav section. And replace the nav section here. And all I've done here, like I said, is swap out the text for different texts.

So now you see we have the standard call to the font awesome icon. FA-arrow-circle-o-left and FA-arrow-circle-o-right, inside the text. When I save this and go back to my post, you'll see we don't have comments navigation at the top. And when I scroll down, the comments navigation at the bottom has that nice font awesome arrow. The final thing I need to do is style this so that it appears the way I want. So I want to add a line at the top and a line at the bottom to fully separate the navigation out and for that, I can just add two simple rules into my style sheet.

So I'll copy these two out. Go open style.css, and here I want to search for comment navigation. So we get to the navigation section and here you see that the reason why my comments navigation isn't lining up properly is because the styles that we created previously apply to the comments navigation too. So I'm going to scroll below all this section here and paste in all my rules. Here you see the first one targets just comment navigation, adds padding and a margin around it and then adds a border on the top and a border on the bottom.

And all the second rule does, is it adds a margin to the left and right of the icon from font awesome so that the icon doesn't butt up against the text. Now I'll save style.css. Reload my post a final time and you see my navigation is now nicely separated from the rest of the content styled to match my other navigation and the icon appears. And when I go to older comments and scroll down, you see the newer comments appears too with the same icon just on the other side.

So like before, the first step in redesigning the comment section is to get the markup where you want it to be. Now that we have the markup, we can start looking at matching our content to our design using styles.

Show transcript

This video is part of

Expand all | Collapse all
  1. 10m 55s
    1. Welcome
      1m 4s
    2. What to know before you start this course
      2m 40s
    3. How this course and the lesson files work
      3m 12s
    4. Introducing Simone: A preview of the final project
      3m 59s
  2. 21m 28s
    1. Installing and running WordPress on your computer
      3m 53s
    2. Getting and installing Underscores
      4m 11s
    3. Installing WordPress Theme Unit Test data
      4m 18s
    4. Installing the Developer plugin
      2m 58s
    5. Installing and setting up NetBeans or another IDE
      6m 8s
  3. 16m 15s
    1. Designing for mobile, content, and style
      4m 52s
    2. How do WordPress themes work?
      4m 48s
    3. Understanding the WordPress template hierarchy
      2m 19s
    4. Underscores: An overview
      4m 16s
  4. 37m 5s
    1. Setting up style.css
      4m 47s
    2. Configuring baseline settings and functions
      6m 6s
    3. Enabling custom fonts and font icons
      5m 44s
    4. Applying global styles
      5m 11s
    5. Styling basic layout components
      6m 19s
    6. Making the site layout responsive
      8m 58s
  5. 23m 18s
    1. Styling the default header
      6m 25s
    2. Hiding the site title and tagline
      5m 32s
    3. Adding an optional header image function
      5m 23s
    4. Placing the header image behind the site title
      5m 58s
  6. 40m 55s
    1. Setting up menus
      3m 12s
    2. Styling the menu
      7m 42s
    3. Using Superfish for accessible menus
      8m 0s
    4. Making the menu responsive
      7m 3s
    5. Creating a custom social media menu
      5m 51s
    6. Styling the menu with icons from Font Awesome
      9m 7s
  7. 18m 9s
    1. Adding the search form
      6m 27s
    2. Adding the search icon
      6m 55s
    3. Adding show/hide functionality to the search form with jQuery
      4m 47s
  8. 33m 20s
    1. Adding a widgetized area to the footer
      7m 10s
    2. Using the Monster widget plugin to test all widgets
      2m 11s
    3. Styling the footer
      3m 6s
    4. General widget styling
      5m 33s
    5. Adding custom styles to specific widgets
      7m 34s
    6. Using Masonry to make footer widgets responsive
      7m 46s
  9. 54m 49s
    1. Changing the Single Post Template content structure
      5m 54s
    2. Changing the output of meta elements
      7m 2s
    3. Styling the Single Post Template
      7m 57s
    4. Making post meta responsive
      6m 21s
    5. Styling blockquotes
      5m 39s
    6. Creating pull quotes and pull images
      5m 1s
    7. Working with image captions
      4m 27s
    8. Working with image galleries
      4m 57s
    9. Single-post navigation
      7m 31s
  10. 30m 23s
    1. Working with the comments template
      8m 42s
    2. Using Gravatars in comments
      2m 42s
    3. Styling comments
      7m 26s
    4. Highlighting post author comments
      3m 36s
    5. Styling the comment form and messages
      7m 57s
  11. 18m 43s
    1. How do featured images (post thumbnails) work?
      2m 57s
    2. Defining featured image sizes
      3m 30s
    3. Generating new featured images with a plugin
      1m 46s
    4. Adding featured images to a template
      5m 7s
    5. Styling the featured image
      5m 23s
  12. 1h 2m
    1. The index template hierarchy
      2m 21s
    2. Customizing and styling index templates
      10m 10s
    3. Displaying excerpts or full content on index pages
      3m 6s
    4. Adding a custom Read More link
      3m 48s
    5. Adding featured images
      4m 0s
    6. Creating custom pagination navigation
      6m 4s
    7. Highlighting Sticky Posts
      2m 55s
    8. Creating custom post format templates
      5m 30s
    9. Highlighting the most recent post in the index template
      7m 22s
    10. Embracing modular design
      2m 29s
    11. Working with archive.php
      5m 54s
    12. Customizing the search results and the 404 template
      8m 28s
  13. 9m 7s
    1. Styling pages
      3m 4s
    2. Creating custom page templates
      6m 3s
  14. 4m 30s
    1. Adding editor styles to match front-end styles
      4m 30s
  15. 2m 20s
    1. Further learning
      2m 20s

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 WordPress: Building Themes from Scratch Using Underscores.

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.