输出特色图像而不是特色图像的链接

时间:2013-12-28 20:31:57

标签: php wordpress

过去,我使用这个自定义函数在我的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>';

这些解决方案都没有输出任何内容,而我的尝试至少会输出指向上传图像的链接。我是否错误地使用了该功能?

1 个答案:

答案 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文件中