I am trying to make a page to be persistent as the home page for my custom theme. In which I can download from Github and setup the Wordpress and this page appears as the default one. I created a page within the theme as front-page.php and added the following code within it:

/* Template Name: front-page */


<div id="primary" class="content-area">
        <main id="main" class="site-main">

        if ( have_posts() ) {

            // Load posts loop.
            while ( have_posts() ) {
                get_template_part( 'template-parts/content/content' );

            // Previous/next page navigation.

        } else {

            // If no content, include the "No posts found" template.
            get_template_part( 'template-parts/content/content', 'none' );


        </main><!-- .site-main -->
    </div><!-- .content-area -->


However, it just appears as normal template. The same as if I created a books.php page and setup it as the template name as well. I know it can be done from setthings>reading but I just would like to set it as the default one.

I have also added the following code into the functions.php to display the front-page.php template as the default but it makes the homepage disappear.

* Add custom template as default page

add_filter( 'template_include', 'breed', 99 );

function breed( $template ) {

    if ( is_singular( 'page' )  ) {
        $default_template = locate_template( array( 'breed.php' ) );
        if ( '' != $default_template ) {
            return $default_template ;

    return $template;
  • "On the site front page, WordPress will always use the front-page.php template file, if it exists." - more details here.
    – Sally CJ
    Dec 14, 2020 at 1:45

1 Answer 1


this is done without any code, in the dashboard using the template presented or any other and has no need for the function added to functions.php. try this steps:

  • Pages > add new: create new page with any name adding the title and publish;
  • Pages > all pages > quick-edit(on the page created): on templates choose the page template of choice, for example "front-page" and update;
  • Appearance > customize > homepage settings: on the " Your homepage displays" choose "a static page", on "home page" choose your page created that now displays your template and update.

this should set your home page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.