Is it possible (and good practice) to set the index.php file as my static home page, without any posts? In Settings > Reading Settings > Front Page Displays I don't see the option to select index.php as a front page option.

Is index.php not meant to be a static front page? Must I create a new page, such as home.php or splash.php, for my static front page?

2 Answers 2


I think you are confuse with templates from pages and posts. Please take a look at Template Hierarchy first. Both home.php and index.php in WordPress are templates. If you need a static page, create a Page instead a Post, and you can name it anything you want, the name is simply a slug, so you can call it Index or Home. Pages can be added into the Menu, and you can specify which one will be your Home (or what you means as the index.php) that will be shown up when you pointing your url to www.your-domain.com.

  • So I created a static page called splash in the WP console and directed it as the front page in the reading settings. I created a custom HTML/CSS file named splash.php and placed it in the root folder of the custom template that I created. Yet, this splash.php page does not load as the front page. What did I do wrong? Jan 26, 2017 at 17:55
  • i told you make a template and assign it to the page and set the page as static front page, your theme will load your template content in index.php file, this is the way you create "custom front page". you didn't followed the instructions properly as described in the answer & link. Jan 26, 2017 at 18:32
  • I think you really need to understand how WordPress work first. Read the Template Hierarchy that I referred to if you want to customise the theme or do theme development. Also read Create a Static Page.
    – hcheung
    Jan 27, 2017 at 1:43

You should make a template file See here how to do this and then Select your custom template in WordPress page

enter image description here

then set this page as your Static Front Page.

  • Are there any rules or suggestions about naming a static front page? Should it be home.php? Can it not be index.php? Jan 26, 2017 at 17:24
  • I suggest you should edit any existing template file which is not in your use, if your creating a new one it should not a duplicate of existing. you can name it or [yoursite]home. Jan 26, 2017 at 17:29

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.