WordPress“the loop”中需要的简单Foreach循环帮助

时间:2011-12-28 作者:PrivateUser

我需要“循环”中的foreach循环

This is my current code (index.php) :

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
<div><a href="<?php the_permalink(); ?>"  title="<?php get_the_title(); ?>"> <?php the_title(); ?></a></div>
<div><a data-backdrop="true" data-controls-modal="modal-from-dom" href="#">Show tags</a></div>
<div id="modal-from-dom">Popup contents goes here (tags) </div>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
它在索引php中列出了帖子标题和标签。我在弹出框中显示所有标签。用户应单击“显示标签”链接以查看标签。

当我有多篇帖子时,弹出窗口无法正常工作。因为我需要每个弹出窗口的唯一名称。

我的意思是,不要用“来自dom的模态”来满足我所有的需求,比如“来自dom的模态1、来自dom的模态2等等”

我尝试了以下代码,但不起作用。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
<?php $modalcount = 1; ?> 
    <div><a href="<?php the_permalink(); ?>"  title="<?php get_the_title(); ?>"> <?php the_title(); ?></a></div>
    <div><a data-backdrop="true" data-controls-modal="modal-from-dom-<?php echo $modalcount; ?>" href="#">Show tags</a></div>
    <div id="modal-from-dom-<?php echo $modalcount; ?>">Popup contents goes here (tags) </div>
<?php $modalcount++; ?>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
有人能帮我吗?

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

为什么不直接使用the_ID() 它总是唯一的,不需要使用任何额外的代码。

SO网友:George Pearce

它不起作用的原因是因为您在WordPress的“while”循环中定义了modalcount-请将其放在前面

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
它应该工作得很好。

编辑:所以您想要的是:

<?php $modalcount = 1; ?> 
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <div><a href="<?php the_permalink(); ?>"  title="<?php get_the_title(); ?>"> <?php the_title(); ?></a></div>
    <div><a data-backdrop="true" data-controls-modal="modal-from-dom-<?php echo $modalcount; ?>" href="#">Show tags</a></div>
    <div id="modal-from-dom-<?php echo $modalcount; ?>">Popup contents goes here (tags) </div>
<?php $modalcount++; ?>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>

结束