过去,我使用这个自定义函数在我的WordPress博客上创建一个带有Thesis主题的图像轮播
function top_carousel() {
echo '<div id="topcarousel">';
$the_query = new WP_Query(array(
'category_name'=>'featured',
'orderby'=>'date',
'order'=>'DESC',
'showposts'=>'4'
));
while ($the_query->have_posts()) : $the_query->the_post();
$do_not_duplicate = $post->ID;
$post_image = thesis_post_image_info('thumb');
echo '<div class="carouselu">';
echo '<a href="' . get_permalink() . '">' . $post_image['output'] . '<br />' . get_the_title() . '</a>';
echo '</div>';
echo '<div style="clear:both"></div>';
echo '</div>';
}
add_action('thesis_hook_before_content_box', 'top_carousel');
自从我使用代码以来,已经有一段时间了,并且,最近设置了一个新的WordPress博客,我发现它不再起作用了,因为图像没有显示链接到帖子。 / p>
有人向我建议这可能是因为我在我的新WordPress博客中使用了精选图片。按照提示并查看at the code on the WordPress code,我将上面的部分自定义函数更改为
$post_image = wp_get_attachment_image_src( get_post_thumbnail_id(), 'small');
echo '<div class="carouselu">';
echo '<a href="' . get_permalink() . '">' . $post_image[0] . '<br />' . get_the_title() . '</a>';
echo '</div>';
这会带来一点进展。现在,标题的链接显示在标题上方,而不是实际图像。例如,
http://localhost:8888/wp-content/uploads/2013/12/Screen-Shot-2013-12-27-at-9.37.49-AM.png
如何显示图像,而不仅仅是图像上传位置的链接?
更新
使用这篇文章的第一个答案,我尝试了这段代码
$post_image = get_the_post_thumbnail($post_id, 'small');
echo '<div class="carouselu">';
echo '<a href="' . get_permalink() . '">' . $post_image['output'] . '<br />' . get_the_title() . '</a>';
echo '</div>';
我也尝试过这次失败的
$post_image = wp_get_attachment_image_src( get_the_post_thumbnail($post_id, 'small'));
echo '<div class="carouselu">';
echo '<a href="' . get_permalink() . '">' . $post_image['output'] . '<br />' . get_the_title() . '</a>';
echo '</div>';
这些解决方案都没有输出任何内容,而我的尝试至少会输出指向上传图像的链接。我是否错误地使用了该功能?
答案 0 :(得分:0)
您应该使用功能get_the_post_thumbnail
,参考文档:http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail
<强>用法强>:
<?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?>
要启用后缩略图,当前主题必须包括 add_theme_support('post-thumbnails');在其functions.php文件中