从子页面的自定义字段 wordpress 循环中删除重复结果
Strip duplicate results from custom field wordpress loop of child pages
我正在循环浏览当前页面的所有子页面。我正在 return 查看自定义字段 'bedrooms' 的结果。这导致了一个数字列表(卧室数量),就像这样 - 131413。这就是我所期望的。
但是我想删除重复项,因此在上面的示例中它将 returned 为 134。
我研究过数组,但在 php 方面不是最好的,所以有人可以帮忙吗?
这是我当前的子循环代码和 acf 字段的 return。
<?php
$args = array(
'post_type' => 'property',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'orderby' => 'plot_number',
'order' => 'ASC'
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) : ?>
<?php while ( $parent->have_posts() ) : $parent->the_post(); ?>
<?php the_field('bedrooms'); ?>
<?php endwhile; ?>
<?php endif; wp_reset_query(); ?>
我的建议是将数字放入数组中(您在问题中提到的想法)。
我使用 implode()
使用空字符串(无空格)作为粘合剂来连接数组的元素。我还使用 array_unique()
函数来 return 一个没有重复项的新数组。
另请注意 get_field()
的使用 return 字段值而不是 the_field()
将输出它。
示例:
<?php
$bedrooms = array();
while ( $parent->have_posts() ) : $parent->the_post();
// Add 'bedrooms' field value to the array.
$bedrooms[] = get_field( 'bedrooms' );
endwhile;
// Output as string with no spaces and duplicates removed.
echo implode( '', array_unique( $bedrooms ) ); ?>
我正在循环浏览当前页面的所有子页面。我正在 return 查看自定义字段 'bedrooms' 的结果。这导致了一个数字列表(卧室数量),就像这样 - 131413。这就是我所期望的。
但是我想删除重复项,因此在上面的示例中它将 returned 为 134。
我研究过数组,但在 php 方面不是最好的,所以有人可以帮忙吗?
这是我当前的子循环代码和 acf 字段的 return。
<?php
$args = array(
'post_type' => 'property',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'orderby' => 'plot_number',
'order' => 'ASC'
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) : ?>
<?php while ( $parent->have_posts() ) : $parent->the_post(); ?>
<?php the_field('bedrooms'); ?>
<?php endwhile; ?>
<?php endif; wp_reset_query(); ?>
我的建议是将数字放入数组中(您在问题中提到的想法)。
我使用 implode()
使用空字符串(无空格)作为粘合剂来连接数组的元素。我还使用 array_unique()
函数来 return 一个没有重复项的新数组。
另请注意 get_field()
的使用 return 字段值而不是 the_field()
将输出它。
示例:
<?php
$bedrooms = array();
while ( $parent->have_posts() ) : $parent->the_post();
// Add 'bedrooms' field value to the array.
$bedrooms[] = get_field( 'bedrooms' );
endwhile;
// Output as string with no spaces and duplicates removed.
echo implode( '', array_unique( $bedrooms ) ); ?>