I have an issue where home.php won't load, so wordpress insists of using index.php to display blog posts. I created home.php by copying the entire content of index.php into home.php. Is there a way to force wordpress to load a specific template or what is the process involved in solving such a situation? (I use the roots.io theme if it makes any difference.)
You say you copied the entire content of index.php into home.php but I assume you have made some changes? Because if not the pages looks identical so maybe it is loading, but just the same?
Now are you having posts or pages you want to display on your front page? Because for the posts and pages there is different hierarchy (from left the first template that is loaded, if it doesn't exist the next one):
- Posts: front-page.php > home.php > index.php
- Pages: front-page.php > $custom.php > page-$slug.php > page-$id.php > home.php > index.php
So for starters to solve this make a distinct change in home.php to see when it's loaded and then switch to posts for the front page (since it's simpler) and check if it works. If there is no front-page.php it HAS to load home.php. If it doesn't it's then a theme specific bug of some sort in which case please contact the author.