admin管理员组文章数量:1388748
I am trying to make a simple list of names that link to profile information. Some of the people in the list have multiple addresses and therefore appear multiple times in the list (as their addresses will appear on the profile page). I would like to remove the duplicate names. I tried using array_unique() but it doesn't seem to have any effect, the duplicates still show. Maybe I'm not using it in the right place? I would appreciate the help. Note: using ACF Pro, hence the use of "the_field()" and "get_field()". Here's my current code:
<?php while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<div id="ipn-in-office-section" class="et_pb_section et_pb_section_1 et_section_regular et_section_transparent">
<div class="et_pb_row et_pb_row_1 ipn-by-county-row">
<div class="et_pb_column et_pb_column_3_4 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child">
<div class="et_pb_module et_pb_text et_pb_text_2 et_pb_bg_layout_light et_pb_text_align_left">
<?php
$io_name = $_GET['io_name'];
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'page',
'meta_key' => 'io_name',
'orderby' => 'meta_value',
'order' => 'ASC'
));
if( $posts ):
foreach( array_unique($posts, SORT_REGULAR) as $post ):
setup_postdata( $post );
?>
<?php if (get_field('io_name')) { ?>
<div class="ipn-in-office-listing">
<p>
<a href="/in-office-services/by-provider-name?io_name=<?php the_field('io_name'); ?>" target="_parent"><strong style="color: #1068a5;"><?php the_field('io_name'); ?></strong></a> .
</p>
</div>
<?php } ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php endwhile; ?>
</div> <!-- .et_pb_text -->
</div> <!-- .et_pb_column -->
</div> <!-- .et_pb_row -->
</div>
I am trying to make a simple list of names that link to profile information. Some of the people in the list have multiple addresses and therefore appear multiple times in the list (as their addresses will appear on the profile page). I would like to remove the duplicate names. I tried using array_unique() but it doesn't seem to have any effect, the duplicates still show. Maybe I'm not using it in the right place? I would appreciate the help. Note: using ACF Pro, hence the use of "the_field()" and "get_field()". Here's my current code:
<?php while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<div id="ipn-in-office-section" class="et_pb_section et_pb_section_1 et_section_regular et_section_transparent">
<div class="et_pb_row et_pb_row_1 ipn-by-county-row">
<div class="et_pb_column et_pb_column_3_4 et_pb_column_2 et_pb_css_mix_blend_mode_passthrough et-last-child">
<div class="et_pb_module et_pb_text et_pb_text_2 et_pb_bg_layout_light et_pb_text_align_left">
<?php
$io_name = $_GET['io_name'];
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'page',
'meta_key' => 'io_name',
'orderby' => 'meta_value',
'order' => 'ASC'
));
if( $posts ):
foreach( array_unique($posts, SORT_REGULAR) as $post ):
setup_postdata( $post );
?>
<?php if (get_field('io_name')) { ?>
<div class="ipn-in-office-listing">
<p>
<a href="/in-office-services/by-provider-name?io_name=<?php the_field('io_name'); ?>" target="_parent"><strong style="color: #1068a5;"><?php the_field('io_name'); ?></strong></a> .
</p>
</div>
<?php } ?>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
<?php endwhile; ?>
</div> <!-- .et_pb_text -->
</div> <!-- .et_pb_column -->
</div> <!-- .et_pb_row -->
</div>
Share
Improve this question
asked Oct 23, 2018 at 16:36
MarkMark
213 bronze badges
1 Answer
Reset to default 1I was able to answer my question thanks to : https://wpquestions/Remove_duplicates_from_ACF_query/12685
<?php
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'page',
'orderby' => 'meta_value',
'order' => 'ASC',
));
if($posts)
{ /* FIRST, get all the post data */
foreach($posts as $post)
{ /* SECOND, one-by-one, add each data row for the specific field into an array */
$io_names[] = get_field('io_name');
} /* THIRD, run through the array and remove all duplicates */
$io_names = array_unique($io_names);
foreach($io_names as $io_name)
{ /* FINALLY, display the data on the page */
echo '<p><a href="#">' . $io_name . '</a></p>';
}
}
?>
本文标签: phpRemove duplicatesarrayunique()
版权声明:本文标题:php - Remove duplicates - array_unique() 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744529696a2610956.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论