我的以下代码存在问题。即使我试图让它在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(); ?>
答案 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;}