foreach中的相同值被删除

时间:2017-02-28 17:34:43

标签: php wordpress

我的以下代码存在问题。即使我试图让它在WordPress模板中工作,我决定在这里发布它因为我认为这是我的代码中的PHP相关错误。

所以,这是我的代码。一切顺利,它按字母值或姓氏在页面上显示贡献者。问题是当'family_name' meta_key 输出两个相同的值时,两个(或更多)中的一个被删除或从我的输出中丢失。我搜索并尝试了很多东西,但我仍然无法找到解决方案。提前谢谢。

<?php
$terms = get_terms(array(
    'taxonomy' => 'contributors',
    'meta_key' => 'letter_group',
    'meta_value' => 'a'));

$order_terms = array();

foreach( $terms as $term ) {
    $position = get_field('family_name', $term);
    $order_terms[$position] ='<a href="'. get_bloginfo( 'url' ) . '/contributors/' . $term->slug . '">'.$term->name.'</a><br>';
}

ksort($order_terms);
foreach( $order_terms as $order_term ) {
    echo $order_term;}

wp_reset_postdata(); ?>

1 个答案:

答案 0 :(得分:2)

你可以做的一件事就是把它变成一个数组

foreach( $terms as $term ) {
    $position = get_field('family_name', $term);
    $order_terms[$position][] ='<a href="'. get_bloginfo( 'url' ) . '/contributors/' . $term->slug . '">'.$term->name.'</a><br>';
}

然后将它们打印为嵌套数组

foreach( $order_terms as $a ) {
     foreach($a as $order_term)
    echo $order_term;}