Missing header on posts page

  • Unknown's avatar

    I am trying to set a blog page as the “Posts Page” and every time I do it fails to display the header.

    Any ideas welcome.

    THX SGE

    The blog I need help with is: (visible only to logged in users)

  • Unknown's avatar

    Hi @sgextent,

    I know it’s been a while since you posted your question here, but I’d be happy to take a look.

    Upon reviewing your site, I noticed that you created a Posts page under “Diary,” and the header appears when browsing that section of your site.

    Could you confirm whether the issue still persists, or if you need any further assistance with anything else?

  • Unknown's avatar

    Hello

    Yes , my post pages is called Diary and that is where my issue is.

    As you can see from the attached screenshot, it is set as my posts page and The big word “Diary” at the top is the usual page name. The smaller instance is the heading I wash to show.

    When this page is set as the blog page it seems to switch to the INDEX template and neither the big “Diary” word of the little “Diary” word are display. When it is not set as the Blog page the template reverts back to “page without title” and displays the little “Diary”.

    To double check, I have set the Diary page as my blog page and it still does not show the Little work “Diary”

    If I can provide any more details or screenshots, then please please let me know. I am eager to find out if I am doing anything wrong in any way here.

  • Unknown's avatar

    1. page.php vs. home.php / index.php

    When you set a static “Posts Page” in WordPress, the page is not rendered with page.php.

    Instead, WordPress looks for home.php first, and if it doesn’t exist, it falls back to index.php.

    👉 If your home.php or index.php is missing the header call (<?php get_header(); ?>), the header won’t show.

    ✅ Fix: Open your theme’s home.php / index.php file and make sure it contains <?php get_header(); ?>.

    2. Custom Page Template Assigned

    If you’ve created a “Blog” page and then set it as your “Posts Page,” WordPress ignores that page’s custom template.

    It uses its own blog loop.

    👉 To keep your header and styling consistent, you need to create a home.php template file and add get_header() and get_footer() inside it.

    3. Theme Options / Page Builder Conflict

    Some themes (like Elementor, Divi, Avada, etc.) have a “Page Header” toggle or custom blog/archive layout settings.

    If you manually added a header to the “Blog” page and then set it as the “Posts Page,” WordPress will override that.

    ✅ Fix: Check your theme’s “Blog/Archive Layout” options.

    4. Plugin Conflict

    Sometimes plugins (SEO plugins, layout plugins, etc.) can interfere with the header output.

    ✅ Fix: Disable all plugins temporarily and see if the header reappears.

    🔧 Quick Debug Steps

    Switch to a default WP theme (like Twenty Twenty-Five) → see if the header shows.

    If it works there, the issue is in your custom theme’s template.

    If it still doesn’t show, it may be a plugin conflict or a disabled header setting.

    👉 Simple Fix (create a home.php)

    Inside your theme folder, create a home.php file and add:

    <?php get_header(); ?>

    <main id=”main-content”>

    <?php

    if ( have_posts() ) :

    while ( have_posts() ) : the_post();

    get_template_part( ‘content’, get_post_format() );

    endwhile;

    the_posts_navigation();

    else :

    get_template_part( ‘content’, ‘none’ );

    endif;

    ?>

    </main>

    <?php get_footer(); ?>

    This ensures your header and footer always appear on the posts page.

  • Unknown's avatar

    Thank you you for your reply. I will work my way through that shortly and post back.

  • Unknown's avatar

    Hello @technicallysuccessful763e3b542a.

    Just reading through your four options, I have to ask, should they be carried out in that order? It seems that trying the twenty twenty five theme would be a good choice to try first, as well as disabling plugins.

  • The topic ‘Missing header on posts page’ is closed to new replies.