How can I make this PHP lines shorter?

前端 未结 4 1446
攒了一身酷
攒了一身酷 2021-01-25 12:45

I have this loop at the same it will count the output:

while ($wp_query->have_posts()) : $wp_query->the_post(); $current++; $current2++;

相关标签:
4条回答
  • 2021-01-25 13:06

    If you are just using these class names for alternating CSS styles there is a much elegant way to do this using CSS3

    Your HTML

    <div class="span4" id="<? echo $current; ?>">
    

    And in your css file

    .span4:nth-child(even) {background: #CCC}
    .span4:nth-child(odd) {background: #FFF}
    

    else for a PHP solution the answer by Liam Wiltshire should work good.

    source: CSS even and odd rules examples

    0 讨论(0)
  • 2021-01-25 13:06

    So you could use mod - best to use the full<?php tag for WordPress if that is what it is.

    php test if number is odd or even

        // set up the html clips
        if($current % 2 == 0){
        $html_clips = 'first'; 
        }else{
        $html_clips = 'second'; 
        }
        if($current == 0) $html_clips = 'first';
        <div class="span4 <?php echo $html_clips ?>" id="<?php echo $current; ?>">
    
    0 讨论(0)
  • 2021-01-25 13:06

    try this way

    <div class="span4 
     <?php if ($curent%2 == 0){ echo 'first'; } 
      else {echo 'second';}?> id="<? echo $current; ?>"> 
    
    0 讨论(0)
  • 2021-01-25 13:29

    If I understand what you are asking here, I think you want to alternate your divs with'first' and 'second' classes?

    As such, you can use the % modulo operator (see http://php.net/manual/en/internals2.opcodes.mod.php)

    <div class="span4 <?php echo ($current % 2 === 0 ? 'first' : 'second'); ?>" id="<? echo $current; ?>">
    
    0 讨论(0)
提交回复
热议问题