SETUP_POSTDATA似乎不工作

时间:2014-01-31 作者:koralarts

我对setup_postdata(). 据我所知,如果我想使用the_permalink()the_title(), 我必须使用setup_postdata().

马上the_permalink()the_title() 正在返回nothing(空白)。我也试过了echo get_the_title() 看看会发生什么,但即使这样也会产生同样的结果。

以下是与问题相关的代码:

  $posts = get_posts($args);
  foreach($posts as $post) {
    setup_postdata($post);
  ?>
  <article class="col two tablet-four mobile-six box">
    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
      <div class="featured-image">
      <?php if(has_post_thumbnail(get_the_ID())): ?>
        <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), array(650,200)); ?>
        <div style="background: url(\'<?php echo $image[0]; ?>\') center center no-repeat;"></div>
      <?php endif; ?>
      </div>
      <section class="content">
        <?php $cat = get_the_category(get_the_ID()); ?>
        <span class="category"><?php echo $cat[0]->cat_name; ?></span>
        <?php the_title(); ?>
        <?php the_excerpt(); ?>
      </section>
    </a>
  </article>
  <? }
  wp_reset_postdata();
因此,基本上,这段代码位于一个函数中,该函数是AJAX请求的回调函数。该函数获取下一组帖子,模拟某人单击下一页按钮。

之后get_posts() 这个$posts 变量由适当的帖子填充,所以它得到了一些东西。

现在,它只响应没有数据的标记。

谢谢

1 个回复
最合适的回答,由SO网友:1fixdotio 整理而成

根据Codex, 你似乎跳过了最重要的global $post; 一开始,就像这样:

global $post;
$posts = get_posts($args);
  foreach($posts as $post) {
    setup_postdata($post);
  ?>
  <article class="col two tablet-four mobile-six box">
    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
      <div class="featured-image">
      <?php if(has_post_thumbnail(get_the_ID())): ?>
        <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id(get_the_ID()), array(650,200)); ?>
        <div style="background: url(\'<?php echo $image[0]; ?>\') center center no-repeat;"></div>
      <?php endif; ?>
      </div>
      <section class="content">
        <?php $cat = get_the_category(get_the_ID()); ?>
        <span class="category"><?php echo $cat[0]->cat_name; ?></span>
        <?php the_title(); ?>
        <?php the_excerpt(); ?>
      </section>
    </a>
  </article>
  <? }
  wp_reset_postdata();

结束

相关推荐

PERVICE_POSTS_LINK和NEXT_POSTS_LINK,如何将下一篇/上一篇文章的标题作为URL返回

我正在处理的站点需要以特定的方式设置返回的url。也就是说,所有帖子基本上都是发布的图像,其中的标题称为页面URL。如何获取从next\\u posts\\u link()和previous\\u posts\\u link返回的url作为mysite返回。com/posttitle?此时,我有两个div,用div和span包装。位于回路内 <div class=\"back-nav\"> <span class=\"button-na