Hay, I'm making a WordPress template, and i have 4 main pages.


As you can see "Blog" is a page (i need it to display when i call wp_list_pages()), but how do i edit this blog page? I assigned the "Blog" page a custom temeplate (called blog.php), but when "Blog" is set as the "Post page" in the Reading section of the WordPress admin, the page fails to render the template.

How do i edit this "Blog" page?

  • 2
    for wordpress.stackexchange.com ?
    – Trufa
    Mar 29, 2011 at 15:41
  • Does it work as normal page? Btw: show us your code and tell us what exactly you tried so far.
    – kaiser
    Mar 29, 2011 at 16:49

2 Answers 2


Setting page to be "posts page" changes its template hierarchy to follow home page rules.

So your custom template is ignored and it looks for home.php or index.php, which might or might not be the reason it fails to render.

  • So home.php is the blog page, and index.php is the home page. Is this documented anywhere?
    – dotty
    Mar 30, 2011 at 8:10
  • @dotty not quite, home.php is home page with list of latest posts and index.php is fallback template for everything that doesn't have more specific template. See Template Hierarchy in Codex.
    – Rarst
    Mar 30, 2011 at 9:36

When you set a page to be the Posts Page, it will override any custom template or content you assign and automatically use index.php to render the posts loop.

  • Actually, at least if the site is set to use a static Page as the Front Page, then whatever static Page is assigned for the blog posts index will use home.php. Mar 29, 2011 at 20:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.