一个循环中的多个模运算符?
Multiple Modulo Operators in One Loop?
我正在使用模运算符,这样在循环 运行 3 次后,它会被包裹在 "row" div.
中
但是,我现在想稍微添加一下代码,这样如果循环只运行两次,它会将列的宽度更改为 "large-6" 而不是 "large-4"。
这是可能的还是会搞砸原来的模函数?
注意 - 我为此使用高级自定义字段,这是 "have_rows" 函数的来源。
当前代码:
<?php if( have_rows('content_modules') ): ?>
<?php $i = 0; while( have_rows('content_modules') ): the_row(); ?>
<?php if($i % 3 == 0): ?>
<div class="row">
<?php endif; ?>
<div class="large-4 columns">
<?php if( !empty($link) ): ?>
<a href="<?php echo $link ?>"><img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3></a>
<?php else: ?>
<img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3>
<?php endif; ?>
<?php echo $content ?>
</div>
<?php if($i % 3 == 2): ?>
</div>
<?php endif; ?>
<?php $i++; endwhile; endif;?>
好的,我假设您正在使用高级自定义字段 (ACF) 或其他东西,因为据我所知(和 Google 所知)have_rows()
不是 WordPress 函数调用。
如果它是来自 ACF 的 have_rows()
,它 returns 一个布尔值,顾名思义。这使您的问题更加困难,因为您需要在开始循环之前知道有多少行。
您可以在主循环之前做一个快速循环,计算行数,然后决定 CSS 需要哪个 class。这不是最佳选择,但老实说,在某些时候你必须计算它们才能做出决定。
一旦你计算了它们,你就可以决定,设置一个变量,然后在你现有的循环中,使用你新创建的变量。
很确定您必须在循环之间使用 wp_reset_query()
重置循环。不过我可能是错的。
HTH,
=C=
我正在使用模运算符,这样在循环 运行 3 次后,它会被包裹在 "row" div.
中但是,我现在想稍微添加一下代码,这样如果循环只运行两次,它会将列的宽度更改为 "large-6" 而不是 "large-4"。
这是可能的还是会搞砸原来的模函数?
注意 - 我为此使用高级自定义字段,这是 "have_rows" 函数的来源。
当前代码:
<?php if( have_rows('content_modules') ): ?>
<?php $i = 0; while( have_rows('content_modules') ): the_row(); ?>
<?php if($i % 3 == 0): ?>
<div class="row">
<?php endif; ?>
<div class="large-4 columns">
<?php if( !empty($link) ): ?>
<a href="<?php echo $link ?>"><img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3></a>
<?php else: ?>
<img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3>
<?php endif; ?>
<?php echo $content ?>
</div>
<?php if($i % 3 == 2): ?>
</div>
<?php endif; ?>
<?php $i++; endwhile; endif;?>
好的,我假设您正在使用高级自定义字段 (ACF) 或其他东西,因为据我所知(和 Google 所知)have_rows()
不是 WordPress 函数调用。
如果它是来自 ACF 的 have_rows()
,它 returns 一个布尔值,顾名思义。这使您的问题更加困难,因为您需要在开始循环之前知道有多少行。
您可以在主循环之前做一个快速循环,计算行数,然后决定 CSS 需要哪个 class。这不是最佳选择,但老实说,在某些时候你必须计算它们才能做出决定。
一旦你计算了它们,你就可以决定,设置一个变量,然后在你现有的循环中,使用你新创建的变量。
很确定您必须在循环之间使用 wp_reset_query()
重置循环。不过我可能是错的。
HTH,
=C=