is_front_page(): bool

Determines whether the query is for the front page of the site.

Description

This is for what is displayed at your site’s main URL.

Depends on the site’s "Front page displays" Reading Settings ‘show_on_front’ and ‘page_on_front’.

If you set a static page for the front page of your site, this function will return true when viewing that page.

Otherwise the same as is_home().

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.

Return

bool Whether the query is for the front page of the site.

Source

function is_front_page() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_front_page();
}

Changelog

VersionDescription
2.5.0Introduced.

User Contributed Notes

  1. Skip to note 6 content

    If you are using a static page as your front page, this is useful:

    <title><?php bloginfo('name'); ?> &raquo; <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>

    Usage in a Custom Function

    Added to your themes functions file, this code includes the is_front_page() conditional tag after the function name so the content only displays on the front page.

    add_action( 'loop_start', 'using_front_page_conditional_tag' );
    function using_front_page_conditional_tag() {
    	if ( is_front_page() ) {	
    		echo'<h2>Only Displays On The Front Page</h2>';
    	}
    }
  2. Skip to note 7 content

    To check if any page is the current front page (for example, when you’re in a custom loop) you can use this function. It expects a page ID as argument:

    function wpdocs_page_is_front_page( int $id ) {
        // If this is set to anything else than 'page' there is no front page
        // anyway, so always return false
        if ( 'page' !== get_option( 'show_on_front' ) ) {
            return false;
        }
    
        // Types for option values are string, so convert to int
        $front_id = (int) get_option( 'page_on_front' );
    
        return $front_id == $id;
    }

You must log in before being able to contribute a note or feedback.