Display your WordPress Recent Posts FAQs
In 2012 I published a tutorial display your WordPress Recent Posts on a Static Page. I wouldn’t ever have dreamed that it would be one of the most commented posts on my blog and even now people are still asking for hints and tips on how to expand the code further so I’ve decided to go through all the comments and gathered enough to have a FAQ section.

**Generally all code will be specified in the loop unless otherwise stated**
Featured Images (Post Thumbnails)
My featured Image doesn’t show up.
If your post thumbnails don’t work make sure you have set a featured image on your post edit screen and make sure you have included the following snippet in functions.php
<?php add_theme_support( 'post-thumbnails' );?>
Can I change the size of my featured image?
Yes, you can change the size of your post’s featured image by choosing one of the following.
If you want to use the default image size then simply use
<?php the_post_thumbnail(); ?>
You can also change the size of your post’s featured image by choosing one of the following.
the_post_thumbnail('thumbnail'); // 150x150
the_post_thumbnail('medium'); // 300x300
the_post_thumbnail('large'); // 1024x1024
the_post_thumbnail('full'); // Original size
the_post_thumbnail(( array(100, 100) )); // Custom size
If that doesn’t work then you can try the following code snippets instead.
<?php echo get_the_post_thumbnail($post->ID, 'full'); ?>
<?php echo get_the_post_thumbnail($post->ID, array(100,100),'thumbnail'); ?>
Errors
If you get PHP errors check that your path to wp-blog-header is correct and you have used a relative link
folder/wp-blog-header.php
rather than an absolute link
https://mydomain
Also check for any whitespace after the opening and closing PHP tags, particularly in your functions.php.
If you get 404 errors try adding the call to the blog header below the doctype If that doesn’t work then add the following under the call to blog header but above the doctype tag.
<?php require('wp-blog-header.php');
// if you are getting 404 errors add the next 2 lines
status_header(200);
nocache_headers();
?>
<!--HTML starts here-->
To enable error messages but not display them check/add your wp-config.php for/with the following
<?php
define('WP_DEBUG', true); // or false
if (WP_DEBUG) {
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);
}
?>
Pages & Posts
Can I get the full content or excerpt?
If you want to add the full content use
the_content();
and if you only want to display a snippet use
the_excerpt();
Can I display the full post content without the more tag?
Yes add the following above the loop
<?php global $more; $more=1; ?>
and the following inside the loop
<?php the_content(); ?>
Can I display pages instead of posts?
Yes simply change an argument in the $args array.
<?php $args = array( 'numberposts' => 6,
'post_status'=>"publish",
'post_type'=>"page");//change post_type from post to page
?>
Can I choose what posts or pages I want to display?
Yes but only by post or page ID
Can I choose what Categories I want to display?
Yes but only by Cat ID
Can I use a unordered list instead of a DIV?
Yes, sure you can just remember to add the opening
<ul>
tag above the foreach loop and the closing tag
</ul>
below the loop.
Can I use this code within my current WordPress theme?
Yes, but the code is slightly different depending on the outcome you want. If you want the posts outside the loop then the original code snippet should work.
If you are adding the posts inside a theme page that already contains the loop, my preference would be to add a new function inside functions.php and call it within that loop, as shown in the examples below.
The following goes inside functions.php
<?php
// Get the latest 10 posts function to add to functions.php
function get_wow_posts(){
global $post;
$args = array(
'numberposts' => 6,
'post_status'=>"publish",
'post_type'=>"post",
'orderby'=>"post_date");
$postslist = get_posts( $args );
echo '<ul id="latest_posts">';
foreach ($postslist as $post) : setup_postdata($post); ?>
<li>
<strong><?php the_date(); ?></strong><br />
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php endforeach;?>
</ul>
<?php wp_reset_postdata();
}
?>
Below is an example, highlighted on line 13, of displaying posts inside a typical theme page by calling the function.
get_wow_posts();
above. Please note that all themes differ.
<?php if ( have_posts() ) :?>
<?php while ( have_posts() ) : the_post();?>
<article <?php post_class('home-page'); ?>>
<?php if (!is_front_page()) : ?>;
<h1 class='title'><?php the_title(); ?></h1>
<?php endif; ?>
<div class="content">
<?php get_wow_posts();?>
</div><!-- the-content -->
</article>
<?php endwhile; ?>
<?php else :?>;
<article class="post error">
<h1 class="404">Nothing has been posted like that yet</h1>
</article>
<?php endif;?>
Can I use Custom Fields?
Yes, you can. For instance, if I created a custom field called ‘Teaser’ I would add the following.
<?php echo get_post_meta($post->ID, 'teaser', true); ?>;
How come I am only able to see 1 page or post?
Do you only have 1 post/page published? Publish more and see if it works.
Dates
How Can I display the date with each post?
Change
<?php the_date(); ?>
to
<?php echo get_the_date(); ?>
Server
Can I link to my WordPress from a different server?
No, try parsing the RSS feed as in the following tutorial.
Can I link to my WordPress site from another site on the same server?
Yes, you can but it depends on your server settings and would be a case of trial and error.
Does this work with wordpress.com websites?
No, you must have your own hosting.
Can I reduce the server load?
You can reduce the server load by disabling the theme when loading.
Add the following above the call to blog-header.
<?php define('WP_USE_THEMES', false); ?>
Possible Problems/ Debugging
Some image and post plugins may conflict with the snippet so if it doesn’t work try disabling them temporarily. If it doesn’t work for you try switching to the default WordPress theme that comes bundled with it. Check out the official WordPress Developer site for more detailed information.
Conclusion
Hopefully the above will answer any questions you may have. If it doesn’t, please feel free to post any questions and I’ll try my best to answer them and update this post periodically.