I’m stumped. I’ve pored over all the articles here and beyond to no avail. I’m trying to simply display the post thumbnail in a template page, but it will not show up.
I have thumbnails enabled for the theme in functions.php: add_theme_support ('post-thumbnails');
I removed the sizing function set_post_thumbnail_size( 150, 150 );
from functions.php and added array(150,150)
as an argument to get_the_post_thumbnail
I’ve set the Featured Image in a couple posts to test it out.
I tried echoing out get_the_post_thumbnail
and using the_post_thumbnail
template tag. I tried both get_posts
(along with setup_postdata($post);
) and new WP_query
methods. No such luck.
I don’t think it matters, but I’m using a child of the Twenty Eleven theme.
I have a template page set up and I’m calling a function I created in functions.php to list the posts. I’d like to use get_posts and echo it out like this: get_the_post_thumbnail( $post->ID, array(150,150) )
. I’ve also tried inserting the function straight into the template page.
I’ve made every tweak I could think of. I don’t see anything I’m overlooking, seems pretty straight forward. Any ideas? Any help would be greatly appreciated.
Here’s the code I had initially before trying all the tweaks mentioned above.
In the functions.php file:
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
}
set_post_thumbnail_size( 150, 150 );
And in my page template file:
function list_posts_by_cat_auth_year ($cat_text, $cat_id, $author, $year) {
echo '
<h1>'.$cat_text.'</h1>
<br />
<ol>';
global $post;
$args = array( 'posts_per_page' => -1, 'numberposts' => 0, 'category' => $cat_id, 'author' => $author, 'order' => 'desc' );
$myposts = get_posts( $args );
foreach( $myposts as $post ) {
$author = get_userdata($post->post_author);
echo '
<li>
<div style="float:left">'
.get_the_post_thumbnail( $post->ID, array(150,150) ).'
</div>
<a href="'.get_permalink().'">'.get_the_title().'</a>
<br />
<span class="post-summary">Posted on '.get_the_time('D, M jS, Y').' by '.$author->first_name.
'<br />'.
get_the_tag_list('Tagged: ',' , ','').'
</span>
<br />
';
echo '
</li>
<br />';
};
echo '
</ol>
';
}
Last I checked (meaning, it may have been updated in 3.5 and I just haven’t noticed), passing an array for an arbitrary image size hasn’t worked since before WordPress 3.0. You have to pass a pre-defined image size. Try:
Define your custom image size:
(called along with
add_theme_support( 'post-thumbnails' );
)Then regenerate your thumbnails (e.g. via Plugin)
Then pass your custom image size as the
$size
parameter: