(Short answer: it’s not the main query, so customizations to the query won’t work. Make your blog the WordPress way, using Settings > Reading).
Genesis has been under development for quite a few years now. Given it’s history and large user base, there’s a few old features that would be removed, given the opportunity, but are needed for backwards compatibility – so people who have used them in the past can keep using them.
The biggest one (in my opinion) is the blog page template.
When you first install WordPress, your homepage lists your most recent blog posts. If you’d like a static homepage and to move your blog to a subpage, you can do so in Settings > Reading.
WordPress looks at specific files for these different pages. home.php
is used for your blog posts listing (whether that’s your homepage or a subpage). front-page.php
is used for the homepage of your site, whether you want blog posts or a static front page.
So, if you want a static homepage and your blog on a subpage like /blog, create the pages “Home” and “Blog”, go to Settings > Reading and set those as the appropriate pages to be used. If you’d like to create a template file to control the homepage, use front-page.php
. If you’d like to create a template file to control the blog, use home.php
.
Many of the older StudioPress child themes incorrectly use home.php
for their static homepage. I’m not sure the reason, but my guess is they wanted to save people the step of going to Settings > Reading; when the theme was activated, the homepage was already a static homepage. The problem here is now you can’t have a blog. If you created a page and set it as the blog in Settings > Reading, it would use the home.php
file which is now a static homepage.
Their solution to this was to create a page template that lists blog posts. The problem here is the blog posts are listed in a custom loop, not the main loop of the page (the main loop is the page’s content, which is replaced with this custom loop). This means plugins and other code that are designed to modify the main blog do not work.
What I recommend:
1. Never use the blog page template.
2. If you’re using a StudioPress theme that has home.php in it and it’s used for a static homepage, rename it to front-page.php
. If you’re using one of the newer HTML5 themes, you should be fine. It’s only the older ones that have this issue
3. If you’re building a child theme for your client, exclude the Blog page template
Gabriel Mohr says
I’m trying the Genesis sample theme, and it displays the entire blog post when I click on my “Blog.” tab. Changing the setting from “show full article” to “summary” doesn’t help, either. Is there a way to fix this?
Bill Erickson says
Hmm, I’m not having that issue. Here’s a screenshot of the main blog page on my local install: https://a.cl.ly/QwuGEwp5