Как добавить тег span, если список UL является первым дочерним и последним дочерним? PHP Состояние если еще - PullRequest
0 голосов
/ 18 марта 2020

Я работаю над пользовательскими полями WordPress, и мне нужно написать PHP условия if-else в al oop, будь то первый или последний дочерний элемент списка ul. но я не знаю, как подать заявку, пожалуйста, помогите мне решить ее

Вот мой код ниже

<?php if( have_rows('chart') ): ?>
<ul class="list-unstyled">
<?php while( have_rows('chart') ): the_row();
$sr_no = get_sub_field('sr_no');
$list_content = get_sub_field('list_content');
?>
<li><div><span class="w-num"><?php echo $sr_no; ?></span><?php echo $list_content; ?></div><span class="chart-divider"><span class="chart-divider-r"></span></span></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

Ответы [ 2 ]

0 голосов
/ 18 марта 2020

Пожалуйста, попробуйте с помощью ниже:

Результат, который вы увидите в li как класс
Если первый раз, вы увидите first_class
Если последний li, вы увидите last_class
Остальное только some_class

<?php 
    $Total_charts_count = wp_count_posts( 'chart' )->publish; //Total count of charts
    $chart_number = 1; //Loop starting point.
    
    if( have_rows('chart') ): ?>
        <ul class="list-unstyled">
            <?php 
                while( have_rows('chart') ): the_row();
                    $sr_no = get_sub_field('sr_no');
                    $list_content = get_sub_field('list_content'); 
                    
                    // First item
                    if($chart_number == 1) {
                        $class = 'some_class first_class';
                        
                    // Last item
                    } else if ($chart_number == $Total_charts_count) {
                        $class = 'some_class last_class';
                        
                    // Not first / Not last item
                    } else {
                        $class = 'some_class';
                    }
                      
                    ?>
                        <li class="<?php echo $class; ?>">
                            <div>
                                <span class="w-num"><?php echo $sr_no; ?></span>
                                <?php echo $list_content; ?>
                            </div>
                            <span class="chart-divider">
                                <span class="chart-divider-r"></span>
                            </span>
                        </li>
                <?php 
                    $chart_number++;
                    endwhile; ?>
        </ul>
    <?php endif; 
?>

Надеюсь, это работа для вас.

0 голосов
/ 18 марта 2020

Подсчет записей для строк.

Установите счетчик, и каждый раз, когда вы повторяете увеличение.

<?php if( have_rows('chart') ): ?>
<ul class="list-unstyled">
<?php 
$counter = 1;
$total-row = // Figure out how to  count(rows), or something like that

while( have_rows('chart') ): the_row();
    $sr_no = get_sub_field('sr_no');
    $list_content = get_sub_field('list_content');
if($counter == 1){
   // First Row 
} elseif ($counter == $total-row){
   // Last Row
}

    ?>
<li><div><span class="w-num"><?php echo $sr_no; ?></span><?php echo $list_content; ?></div><span class="chart-divider"><span class="chart-divider-r"></span></span></li>
    <?php 
    $counter++;
endwhile; ?>
</ul>
<?php endif; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...