Posts Page Featured Image

I have created a theme that uses a featured image on every page.

In settings, I have setup my “Posts Page” to be “news”…how do I get the featured image from “news” to display?

Read More

The following will display the id of my posts page:

<?php
    $page_for_posts = get_option( 'page_for_posts' );
    echo $page_for_posts;
?>

So I was thinking that this would display the featured image for my posts page:

<?php
    $page_for_posts = get_option( 'page_for_posts' );
    echo get_the_post_thumbnail($page_for_posts, 'large');
?>

But, somehow it doesn’t 🙁 Do I need to add this code in the loop or something?

Any ideas?

Thanks,
Josh

Related posts

Leave a Reply

2 comments

  1. I feel like such an idiot!! I was trouble-shooting this last night and I guess I removed the featured image for the news page…so, of course, the image wasn’t showing up!

    I added the featured image and the following code:

    <?php if(is_home()) { ?>
        <?php
            $page_for_posts = get_option( 'page_for_posts' );
            echo get_the_post_thumbnail($page_for_posts, 'large');
        ?>
    <?php } ?>
    

    Now, everything works as expected (Note: cross-posted from, and issue resolved in, the wordpress.org support forums.)

  2. You could always do this instead;

    $id = get_the_ID();
    echo get_the_post_thumbnail($id, 'large');
    

    get_the_ID() gets the ID of the current post/page you are on, and then you pass that into your get_the_post_thumbnail function.

    This avoids you needing to use a get_option to retrieve a field from the options table.