Php ACF多次返回复选框值
在ACF的帮助下,我在wordpress上建立了一个网站,但我遇到了一个问题,我似乎无法解决 我有一个名为“公文包”的重复字段,其中有一个复选框字段,有3个选项。 我使用它们是为了能够将类添加到div中进行过滤,它工作得很好,但是当我想将选项值显示到我的网页列表中时,它会多次给我相同的值 例如,我添加了5个div,其中3个选中了“digi”值,所以当我调用复选框值时,我会得到列表元素“digi”3次。我真的只想在我的网站上显示3种不同的选择 我的代码:Php ACF多次返回复选框值,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,在ACF的帮助下,我在wordpress上建立了一个网站,但我遇到了一个问题,我似乎无法解决 我有一个名为“公文包”的重复字段,其中有一个复选框字段,有3个选项。 我使用它们是为了能够将类添加到div中进行过滤,它工作得很好,但是当我想将选项值显示到我的网页列表中时,它会多次给我相同的值 例如,我添加了5个div,其中3个选中了“digi”值,所以当我调用复选框值时,我会得到列表元素“digi”3次。我真的只想在我的网站上显示3种不同的选择 我的代码: <?php if( have_ro
<?php
if( have_rows('portfolio') ):
while ( have_rows('portfolio') ) : the_row();
$class = get_sub_field('portfolio_img_class');
foreach( $class as $value ): ?>
<li><?php echo $value; ?></li>
<?php endforeach;
endwhile;
else :
echo "FFS";
endif;
?>
我用于为div提供类的其他代码:
<?php if( have_rows('portfolio') ): ?>
<section class="work">
<?php while( have_rows('portfolio') ): the_row();
$image = get_sub_field('portfolio_img');
$text = get_sub_field('portfolio_img_text');
$link = get_sub_field('portfolio_img_link');
$class = get_sub_field('portfolio_img_class');
?>
<div class="item-work item-work-portfolio
<?php
foreach ( $class as $value ) { echo $value . " "; } ?>
">
<a href="<?php echo $link; ?>">
<img src="<?php echo $image; ?>"/>
<div class="work-overlay">
<h1 class="work-overlay-title"><?php echo $text; ?></h1>
</div>
</a>
</div>
<?php endwhile; ?>
</section>
<?php endif; ?>
因此,您可以将所有值存储在单个数组中,然后在此单个数组上使用另一个循环,即array\u unique()
函数删除重复值,以及array\u values()
函数重新为数组编制索引。然后输出唯一值:
<?
$allValues = array();
if (have_rows('portfolio')):
while (have_rows('portfolio')) : the_row();
$class = get_sub_field('portfolio_img_class');
foreach ($class as $value):
$allValues[] = $value;
endforeach;
endwhile;
else:
// do nothing
endif;
$uniqueValues = array_values(array_unique($allValues));
foreach ($uniqueValues as $value):
echo $value . ' ';
endforeach;
这似乎仍然不起作用。输出仍然相同。请发布print\r($class)的输出代码>数组([0]=digi[1]=disain)数组([0]=digi[1]=disain)数组([0]=digi[1]=disain)数组([0]=digi[1]=disain)数组([0]=digi[1]=disain[2]=sotsiaalmeedia)
并且您希望输出仅为digi disain sotsiaalmeedia
?现在它就像一个魔咒一样工作。非常感谢你!你真是个救命恩人
<?
$allValues = array();
if (have_rows('portfolio')):
while (have_rows('portfolio')) : the_row();
$class = get_sub_field('portfolio_img_class');
foreach ($class as $value):
$allValues[] = $value;
endforeach;
endwhile;
else:
// do nothing
endif;
$uniqueValues = array_values(array_unique($allValues));
foreach ($uniqueValues as $value):
echo $value . ' ';
endforeach;