WordPress php循环中的基础模式

时间:2015-03-16 作者:Matt Meadows

我正在一个网站的子主题中使用Foundation V4框架。

我目前有wordpress帖子循环,按照正常方式输出所有内容,对于图片,我计划做一些不同的事情,将帖子的特色图片输出到foundations模式视图中,并输出一个链接来触发模式视图,只有在特色图片存在的条件下。

我尝试将图像输出到循环中每个帖子的模式中,没有这样的外观,这在没有foreach语句的情况下确实有效,但是它将相同的特征图像输出到每个模式代码中。

任何帮助都将不胜感激!

 <?php query_posts(\'cat=5\'); ?>
      <?php
      if ( have_posts() ) : while ( have_posts() ) : the_post(); 
       ?>
      <div class="small-12 large-6 columns">
        <div class="menu_item 
        <?php
          $posttags = get_the_tags();
          if ($posttags) {
            foreach($posttags as $tag) {
              echo $tag->name . \' \';
            }
          }
        ?>">
        <div class="small-12 large-8 columns">
          <div class="item_title">
            <h3><?php the_title() ?></h3>
          </div>
          <div class="item_content hide-for-small">
            <?php the_content(); ?>
          </div>
          <div class="dietary_info">
            <ul>
              <?php
                $posttags = get_the_tags();
                if ($posttags) {
                  foreach($posttags as $tag) {
                    echo "<li class=\'$tag->name\'></li>";
                  }
                }
              ?>
              <?php 
                if (has_post_thumbnail() ) {
                  echo "<li><a href=\'#\' class=\'photo\' data-reveal-id=\'myModal\'></a></li>";
                  foreach(has_post_thumbnail())
                  {
                    echo "<div id=\'myModal\' class=\'reveal-modal tiny\' data-reveal aria-labelledby=\'modalTitle\' aria-hidden=\'true\' role=\'dialog\'>".the_post_thumbnail();."</div>";
                  }
                } 
              ?>
            </ul>
          </div>
        </div>
        <div class="small-12 large-4 columns">
          <?php if (get_field (\'item_price\') ) : ?>
              <p>£ <?php echo the_field (\'item_price\'); ?></p>
          <?php endif; ?>
          <?php if (get_field (\'item_price_2\') ) : ?>
              <p>£ <?php echo the_field (\'item_price_2\'); ?></p>
          <?php endif; ?>
        </div>
      </div>
    </div>
  <?php endwhile; endif; ?>

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

第一read this about query_posts.

回答你的问题-

has_post_thumbnail() 返回true或false,无法在foreach循环中迭代该值。

我猜,相同模态重复出现的原因是你给了他们所有相同的id,所以第一个总是打开的。使用帖子的ID使每个帖子都具有唯一性。

if (has_post_thumbnail() ) {
    echo \'<li><a href="#" class="photo" data-reveal-id="myModal\' . get_the_ID() . \'"></a></li>\';
    echo \'<div id="myModal\' . get_the_ID() . \'">\' . get_the_post_thumbnail() . \'</div>\';
}

结束