【问题标题】:WP PHP - Foreach adding different classname - how does it work?WP PHP - Foreach 添加不同的类名 - 它是如何工作的?
【发布时间】:2022-01-23 12:39:24
【问题描述】:

我正在尝试通过创建自己的 Wordpress 主题来学习一些 PHP。我似乎对某个问题一无所知,而谷歌并没有多大帮助! 我正在尝试为我的 foreach 循环中的每个项目添加一个唯一的类名。我已经让它与帖子 ID 一起使用,但这不是一个可行的解决方案。

问题:

我正在创建包含 3 个最新帖子的 3 个框。所有帖子都需要一个不同的类名,以便它们可以放置在 CSS 网格中(很难解释设计,但这基本上是我需要的)。我的想法是,每个帖子都可以获得一个类名或 ID,例如第一个为“item1”,下一个为“item2”等。因此在每个循环中,它都会为类名添加 +1。

我将如何解决这个问题?基于我对 React 的了解,我想知道 PHP 中是否有类似的键功能?

这是我的参考代码:

<section class="classmain">

<?php
$args = array( 'numberposts' => 3, 'order'=> 'ASC', 'orderby' => 'title' );
$postslist = get_posts( $args );
foreach ($postslist as $post) :  setup_postdata($post); ?> 
    <div class="testrun">
        <img src="<?php the_post_thumbnail_url('blog-small');?>" alt="<?php the_title();?>" style="margin-right: 20px">
        <br />
        <!-- <?php the_date(); ?>
        <br />
        <?php the_title(); ?>
        <br />
        <?php the_excerpt(); ?>
        <br /> -->
    </div>
<?php endforeach; ?>

</section>

【问题讨论】:

    标签: php wordpress foreach increment


    【解决方案1】:

    将索引添加到您的 foreach 循环中:

    foreach ($postslist as $index => $post) :
    

    并使用它附加到类名:

    <div class="testrun<?= $index ?>">
    

    只要数组是索引数组,就会得到testrun0testrun1testrun2 等。

    如果您想以1 开头而不是0,只需将其更改为:

    <div class="testrun<?= $index + 1 ?>">
    

    【讨论】:

      【解决方案2】:

      你可以试试这样的。

      <?php
      
      $i = 1;
      foreach ($postslist as $post) :  setup_postdata($post); ?> 
          <div class="testrun <?php echo "item".$i; ?>">
              <img src="<?php the_post_thumbnail_url('blog-small');?>" alt="<?php the_title();?>" style="margin-right: 20px">
              <br />
              <!-- <?php the_date(); ?>
              <br />
              <?php the_title(); ?>
              <br />
              <?php the_excerpt(); ?>
              <br /> -->
          </div>
      <?php $i++; endforeach; ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-02
        • 1970-01-01
        • 2013-01-12
        • 1970-01-01
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 2016-01-12
        相关资源
        最近更新 更多