Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
Create a child theme based on an existing parent theme in WordPress and change the functionality, presentation, or styling of your website. In this course, author Morten Rand-Hendriksen shows how to use the default WordPress theme, Twenty Twelve, as a basis for a new child theme and add custom menus; new headers, sidebars, and footers; and index pages with widgets and pagination to your site. The course also demonstrates how to add a responsive welcome message to your front page using PHP and jQuery, and how to edit the many templates found in a WordPress theme. Morten explains how to perform these changes using any code editor, the developer tools in the Chrome browser, and WordPress.
In many cases, you want to restrict certain content or behaviors to a particular page or post in your site. This is relatively easy when it comes to pages or posts, because you're dealing with single items. But what do you do from the page in question is an index page. We can't test for a specific post id, because the post keeps changing. Instead, we have test to see if the currently displayed template is the one we want and that it is in the order we want it to be in. Let me explain what I am talking about here.
We added a welcome message to our index template. It displays at the very top of the index template and then underneath you have the index content. However, if I scroll down, and I jump to Page 2 of the index, the welcome message still appears. Logically, we only want the welcome message to appear on the front page, so Page number 1 of the index template. So how do we do that? Well, we have to ask WordPress several questions. We both have to ask it, is this the front page that you are already currently displaying.
And we also have to ask it, is this first of the index pages, so that if it's the 2nd or 3rd or 50th of the index pages, it doesn't display this welcome message. To do this, we are going to use two conditional tags. The first one--and most important one--is one that you might end up using a lot. It's one that's called is_front_page. It basically asks if the page you're currently looking at is the front page, whether or not that page be an index page or if it's a static page.
This depends on how you set what page is displayed as a front page under Settings > Reading, and a FrontPage displays. We are going to use is_front_page in conjunction with another conditional statement called is_paged and I'll explain what that one does in a second. To restrict the welcome message to only the front page, what I am going to do is go to index.php, where this template part is being called, and then I'll wrap the call for this template parts in a conditional statement.
So I'll say if is_front_page, because I want to see that it is the front_page and then I'll also want to test to see if this is the second or third or fourth page. So what I am going to do is use a function called is_paged. is_paged basically tests to see if this is the second, or third, or fourth, or fifth page of an index. But in this case, I want to see that this is not a paged item, meaning it's not paged 2, or 3, or 4, so I am going to put an exclamation point in front of it say, and it is_not_paged.
So if both these conditions are met, I want get_template_part (welcome) to run then I am going to end my conditional statements, save index.php, and then reload this page. Notice that this is currently Page 2 of the index. And now you see the welcome message disappeared from the top, but if I jump back to the front page, the welcome message appears. Just to make sure, I am going to scroll to the bottom and jump to a different page, so I'll jump to Page number 3, and just as it was, Page number 2 we don't see the welcome message.
Here you can see how using conditional statements wisely can give you very interesting results and very detailed control. I'll show you another example of a site I used the same type functionality on to make something happen. On blendinsider.com, I created a function that displays the first story on the front page with larger fonts and more information than the second and third and so on. I'm using the exact same conditional statement is_front_page and is_paged to make sure that it only displays on the first page in the index.
I'm also using an additional conditional statement to test that this only appears on the first post on the index page. So this should give you an idea of how far you can take it when you use these conditional statements. So just remember, anytime you want to display something in just one place, ask yourself if you can ask the database a question and then make that computer and the database figure out what to display using conditional statements.
Find answers to the most frequently asked questions about WordPress 3: Building Child Themes.
Here are the FAQs that matched your search "":
Sorry, there are no matches for your search ""—to search again, type in another word or phrase and click search.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.