我正在一个网站的子主题中使用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; ?>
最合适的回答,由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>\';
}