WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] home.php disables index.php? (5 posts)

  1. mattshepherd
    Member
    Posted 5 years ago #

    This is me being thick, but I tried my best to understand how to set up a static page (a "front page") while still keeping a blog "behind" it. Since index.php is the main blog site, I set the static front page up as foo.com/home.php, and put a link on foo.com/home.php to the "front page of the blog," at foo.com/?index.php.

    But the link from foo.com/home.php to foo.com/?index.php just re-loads my foo.com/home.php page. Somehow the index.php just sends the browser back to home.php, and there's an eternal loop.

    What do I need to do to "salvage" index.php and turn it into the front page of my blog again?

  2. vachi
    Member
    Posted 5 years ago #

    do you mean this

    <?php
    /**
     * Front to the WordPress application. This file doesn't do anything, but loads
     * wp-blog-header.php which does and tells WordPress to load the theme.
     *
     * @package WordPress
     */
    
    /**
     * Tells WordPress to load the WordPress theme and output it.
     *
     * @var bool
     */
    define('WP_USE_THEMES', true);
    
    /** Loads the WordPress Environment and Template */
    require('./wp-blog-header.php');
    ?>

    thats what index.php is ? or teh index.php of the theme?

  3. moshu
    Member
    Posted 5 years ago #

    Completely wrong approach. And complicated. Both.

    You go into Settings > Reading and select an existing Page as your home/front page and select another one as your "posts page". Done.

    No need for any home.php stuff - that was for earlier WP versions. And if exists, yes, it will take over the index.
    More: Template_Hierarchy

  4. mattshepherd
    Member
    Posted 5 years ago #

    Thanks! That was enough for me to puzzle it out. The Codex really turned me around and around on this one.

  5. dvsmith
    Member
    Posted 5 years ago #

    The problem with using the "Reading" panel is that it ignores the is_home() function.

    Whatever page is set to be the "Posts" page remains the home, as far as the loop is concerned, making any calls to that function broken.

    Using a home.php template respects the is_home(), but breaks the posts page.

    Edit:
    Nevermind, I just discovered the is_front_page() function, introduced in 2.5.1 (I hadn't used WP since 2.1 was intro'd).

Topic Closed

This topic has been closed to new replies.

About this Topic