替代wordpress后ACF(第n个孩子)

时间:2014-07-08 15:48:26

标签: php wordpress advanced-custom-fields

我试图根据设计方面插入4个不同的类。

e.g。

行1:[图像1,绿色,左] | [IMAGE 1,GREEN,LEFT] | [图片1,绿色,正确] [图片1,绿色,正确]

ROW 2:[IMAGE 1,RED,LEFT] | [IMAGE 1,RED,LEFT] | [IMAGE 1,RED,RIGHT] [IMAGE 1,RED,RIGHT]

ROW 3:[IMAGE 1,GREEN,LEFT] | [IMAGE 1,GREEN,LEFT] | [图片1,绿色,正确] [图片1,绿色,正确]

ROW 4:[IMAGE 1,RED,LEFT] | [IMAGE 1,RED,LEFT] | [IMAGE 1,RED,RIGHT] [IMAGE 1,RED,RIGHT]

我将如何做到这一点?

这就是我的想法,在标题的开头声明一个类变量

<?php 
        $oddpost = 'alt';
?>

简单地回显出alt post作为wordpress本身的一个类。

,则:

<?php 
if ('alt' == $odd) $odd = '';
else $odd = 'alt';
?>

再次感谢您的帮助。

P.S。这是ACF代码(工作正常,翻录推荐)

                <?php
                        $args = array( 'post_type' => 'testimonials', 'posts_per_page' => 16 );
                            $loop = new WP_Query( $args );
                            while ( $loop->have_posts() ) : $loop->the_post();
                                echo '<div class="one_fourth"><div class="testimonial"><blockquote><p>';
                                the_field('testimonial');
                                echo '</p></blockquote><p><cite>';
                                the_title();
                                echo '</cite></p></div></div>';
                            endwhile;
                    ?>

1 个答案:

答案 0 :(得分:1)

我假设每个推荐都需要识别它的行及其在该行中的位置。我会开始两个柜台:

  $args = array( 'post_type' => 'testimonials', 'posts_per_page' => 16 );
  $loop = new WP_Query( $args );
  $row = 1;
  $pos = 1;
  while ( $loop->have_posts() ) : $loop->the_post();
      $class = $row % 2 == 0 ? 'red' : 'green';
      $class .= ($pos == 1 || $pos == 2) ? ' left' : ' right'; 
      echo '<div class="one_fourth '.$class.'"><div class="testimonial"><blockquote><p>';
      the_field('testimonial');
      echo '</p></blockquote><p><cite>';
      the_title();
      echo '</cite></p></div></div>';
      $pos = $pos + 1;
      if($pos == 5){
      $row = $row + 1;
      $pos = 1;
      }
  endwhile;

$row % 2检查行是奇数(返回余数)还是偶数(返回0)并相应地分配一个类。下一行检查$pos是1还是2,并指定左侧类,如果是其他任何内容,则为右侧。

在代码块结束时,我们将位置递增1(因此我们知道我们位于块的末尾,并且下一个位置排成一行)。如果该位置超过4,那么我们将递增行计数器并将位置重置为1.