Like with is_single() and is_singular(), the is_home() and is_front_page() are two WordPress Conditional Tags that can lead to some confusion. Most users associate the front page to be the same as the home page and they are correct. However, WordPress considers the home page to be the page that lists the blog posts. Therefore, when we call the is_home() conditional tag, we are checking to see if the current page is the page displaying the blog posts, which can be the front page or the “blog” page, or whatever else one may call it. The is_front_page() conditional tag is simply checking to see if the front page is being displayed, whether it’s a static page or the posts page. Here’s a rundown:
is_home()
This Conditional Tag checks if the blog posts index page is being displayed. This is a Boolean function, meaning it returns either TRUE or FALSE.
What is this saying?
User: WordPress, is the current page the page that displays the posts?
WordPress: Yes/No
is_front_page()
This Conditional Tag checks if the main page is a posts or a Page. This is a boolean function, meaning it returns either TRUE or FALSE. It returns TRUE when the main blog page is being displayed and the Settings->Reading->Front page displays is set to “Your latest posts”, or when is set to “A static page” and the “Front Page” value is the current Page being displayed.
What is this saying?
User: WordPress, is the current page the page is set to the front page?
WordPress: Yes/No
Pretty simple, huh?
[…] By default, WordPress shows the blog as the site’s front page. The main blog archive is also known as the home page in WordPress. This is a bit confusing, and an outgrowth of WordPress’s origins as a blogging platform. Typically, home page and front page are synonymous. In WordPress, they are not. […]