如何以正确的方式获取URL图片页面?

时间:2016-10-12 作者:user3242861

我正在开发自己的自顶向下模板,将所有页面加载到主页中。我的问题是,在图像的地方,似乎只有最后一个被充电的。例如,如果我有三个页面,每个页面都有不同的图像,那么将显示的图像始终是最后一页的图像。

我不知道问题是什么,我见过缓存问题,变量名相同的问题,无法解决。

您可以看到我如何做到这一点:

<section id="about">
  <?php
    $about = get_page_by_title( \'About\' );
    $thumb_id = get_post_thumbnail_id($about);
    $abouturl = wp_get_attachment_thumb_url($thumb_id);
  ?>
  <span><?php echo $about->post_title ?></span>
  <img src="<?php echo $abouturl ?>"/>
</section>
<section id="news">
  <ul>
    <?php
    $posts = get_posts([\'cat\' => get_cat_ID(\'News\'), \'limit\' => 3, \'order\' => \'DESC\']);
    foreach($posts as $post){
      setup_postdata($post);
      $thumb_id = get_post_thumbnail_id($post, \'news-image\');
      $url = wp_get_attachment_thumb_url($thumb_id, \'300, 300\');
    ?>
    <li data-link="<?php the_permalink() ?>">
      <img src="<?php echo the_post_thumbnail_url(array(300, 150)); ?>"/>
      <span>
        <?php echo the_title(); ?>
      </span>
    </li>
    <?php
    wp_reset_postdata();
     }?>
  </ul>
</section>
<section id="contacts">
 <?php
    $contacts = get_page_by_title( \'Contacts\' );
    $thumb_id = get_post_thumbnail_id($contacts);
    $contactsurl = wp_get_attachment_thumb_url($thumb_id);
  ?>
  <span><?php echo $contacts->post_title ?></span>
  <img src="<?php echo $contactsurl ?>"/>
</section>
我怎样才能解决这个问题?如果您需要更多信息,请询问。

谢谢

1 个回复
SO网友:stims

我猜是因为你在使用

echo the_post_thumbnail_url(array(300, 150));
而不是

the_post_thumbnail_url(array(300, 150));
the_post_thumbnail_url 为您回显输出。

另一个观察结果是the_post_thumbnail_url 使用使用设置的post数据setup_postdata, 因此,不需要这两条线:

$thumb_id = get_post_thumbnail_id($post, \'news-image\');
$url = wp_get_attachment_thumb_url($thumb_id, \'300, 300\');

相关推荐