Properly display posts on homepage

I think you’re making this far more difficult on yourself than you need to.

Easiest Solution

First, I’m a bit confused, because the page you call the “blog page” is not actually the blog page. The blog page is the blog posts index page, and the page you’ve linked is actually the category archive index for category ID 7.

If you really want this:

Basically I want the homepage to display exactly like the blog page, but include the slider.

And you want to call the Category 7 Archive Index page the “Blog” page, then the solution is really quite simple:

  1. Go to Settings -> Reading
  2. Change “Front page displays” from “a static page” to “latest posts”

Then, you can do one of two things:

  1. Add the slider to header.php, using as if ( is_front_page() ) conditional wrapper
  2. Create a home.php template file (the template file used to display the blog posts index), and add your slider there.

Convoluted Solution

If you really want a custom static front page and a separate blog page, first ensure that you have the static front page configured properly:

  1. Create a static page, named (arbitrarily) “Front Page” or “Home Page” or whatever you want
  2. Create a static page, named (arbitrarily) “Blog” or whatever you want
  3. Go to Settings -> Reading
  4. Change “Front page displays” from “latest posts” to “a static page”
  5. Select the page created in Step 1 as the “Front page”
  6. Select the page created in Step 2 as the “Posts page”

Then, you just need to configure your template files.

In this case, you can let the blog posts index fallback to index.php, and you’ll be good to go there. But for the front page, you’ll need to create front-page.php, with the following:

  1. The slider code where appropriate
  2. A custom/secondary query, using new WP_Query().
  3. Pagination fix.

This solution is much more complicated. I would recommend going with the easier solution.