根据 X 的数量打印一个数字


Print a number dependent on how many of X there are

下面,我希望$slideNumber由幻灯片的数量决定。我尝试在幻灯片部分创建一个变量,并让每张新幻灯片增加 1。然后我尝试将其插入:

<input type="radio" name="slider" id="slide<?php echo $slideNumber; ?>">

但是没有任何输出。它只是输出id的单词slide。我该怎么做才能解决这个问题?

澄清一下,如果有五张幻灯片,应该有五张inputs打印,如下所示:

<input type="radio" name="slider" id="slide1">
<input type="radio" name="slider" id="slide2">
<input type="radio" name="slider" id="slide3">
<input type="radio" name="slider" id="slide4">
<input type="radio" name="slider" id="slide5">

我该怎么做才能解决这个问题?

<!-- Slider Setup -->
<?php if( have_rows('slides') ):
    while ( have_rows('slides') ) : the_row();
?>
    <input type="radio" name="slider" id="slide<?php echo $slideNumber; ?>">
<?php endwhile;endif; ?>
<!-- Slide -->
<?php if( have_rows('slides') ): ?>
    <div id="slides">
        <div id="overflow">
            <div class="inner">
                <?php if( have_rows('slides') ): 
                $slideNumber = 1;
                while ( have_rows('slides') ) : the_row(); 
                    $slideNumber++;
                    $slideImage = get_sub_field('slide_image');
                ?>
                    <article>
                        <img src="<?php echo $slideImage; ?>" alt="<?php the_title(); ?>">
                    </article>
                <?php endwhile;endif; ?>
            </div><!-- #inner -->
        </div><!-- #overflow -->
    </div><!-- #slides -->
<?php endif; ?>

似乎您正在尝试使用$slideNumber变量,而它甚至没有定义,在这里:

<!-- Slider Setup -->
<?php if( have_rows('slides') ):
    while ( have_rows('slides') ) : the_row();
?>
    <input type="radio" name="slider" id="slide<?php echo $slideNumber; ?>">
    <!-- You're using $slideNumber here - but it's not defined or incremented -->
<?php endwhile;endif; ?>

相反,您可以在此处定义并递增此属性:

        <?php if( have_rows('slides') ): 
        $slideNumber = 1; // you define it here
        while ( have_rows('slides') ) : the_row(); 
            $slideNumber++; // you increment it for every slide
            $slideImage = get_sub_field('slide_image');
        ?>
            <article> <!-- but you actually don't use it -->
                <img src="<?php echo $slideImage; ?>" alt="<?php the_title(); ?>">
            </article>
        <?php endwhile;endif; ?>

请尝试以下代码:

<!-- Slider Setup -->
<?php if( have_rows('slides') ):
    $slideNumber = 1; // defined
    while ( have_rows('slides') ) : the_row();
?>
    <!-- Has to output something for id attribute, at least "slide1" -->
    <input type="radio" name="slider" id="slide<?php echo $slideNumber; ?>">
<?php
$slideNumber++; // incremented
endwhile;
endif;
?>
<!-- Slide -->
<?php if( have_rows('slides') ): ?>
    <div id="slides">
        <div id="overflow">
            <div class="inner">
                <?php if( have_rows('slides') ): 
                while ( have_rows('slides') ) : the_row(); 
                    $slideImage = get_sub_field('slide_image');
                ?>
                    <article>
                        <img src="<?php echo $slideImage; ?>" alt="<?php the_title(); ?>">
                    </article>
                <?php endwhile;endif; ?>
            </div><!-- #inner -->
        </div><!-- #overflow -->
    </div><!-- #slides -->
<?php endif; ?>