In many situations a Wordpress site can have is_home and is_frontpage both eval as true on the REAL homepage and also on the main blog page. After building sites in Wordpress for about 4 years this still bothers me.
For example if you have a site where you have your latest posts on your homepage with maybe a slider or some other homepage-centric elements, AND have another blog page, then is_frontpage and is_home will both eval as true on BOTH pages. So Wordpress does not have a clear conditional function for the true homepage, at least the way most people think of the homepage of a website.
So I agree with Liam that if you get into a confusing situation, something like
if ( $_SERVER["REQUEST_URI"] == '/' ) { }
I assume, by the fact that is_home() is not working, that your home page is static, according to the settings in wp-admin.
is_home() returns true on your main blog page whereas is_front_page() returns true on which ever page is defined as your front page, feed or not.
From codex:
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.
For me
is_front_page()
andis_home()
doesn't work in ways I need to check the homepage, so instead I write this condition:With Twenty Ten I use:
Works like a charm... $_SERVER is the one I always use and it always works.
is_home()
is the way to go.Have you tried this method and it doesn't work? If yes, it has usually something to do with the mod_rewrite settings or the wordpress settings itself.
In many situations a Wordpress site can have is_home and is_frontpage both eval as true on the REAL homepage and also on the main blog page. After building sites in Wordpress for about 4 years this still bothers me.
For example if you have a site where you have your latest posts on your homepage with maybe a slider or some other homepage-centric elements, AND have another blog page, then is_frontpage and is_home will both eval as true on BOTH pages. So Wordpress does not have a clear conditional function for the true homepage, at least the way most people think of the homepage of a website.
So I agree with Liam that if you get into a confusing situation, something like if ( $_SERVER["REQUEST_URI"] == '/' ) { }
is more reliable.
from outside the loop:
is_front_page()
is what you want.I assume, by the fact that
is_home()
is not working, that your home page is static, according to the settings in wp-admin.is_home()
returns true on your main blog page whereasis_front_page()
returns true on which ever page is defined as your front page, feed or not.From codex: