我现在使用 ACF 有一段时间了,我认为这会更容易,但无法弄清楚如何正确执行此操作......
我正在尝试创建某种奖杯柜。因此,每家公司都有一个存储在名为"company_score"的ACF中的分数。
例如,我们有名为Microsoft,Facebook和Twitter的公司。他们都有一个分数:
- 脸书 = 200000
- Microsoft = 900000
- 推特 = 100000
所以前 3 名会像
- 1) Microsoft
- 2)脸书
- 3)推特
我知道如何显示 ACF 的值,但我如何比较存储的所有分数,当一家公司获得最高分数时,它将显示金牌。当一家公司获得第二好的分数时,它将显示银牌,依此类推。
我脑子里都想通了,但有点卡在这里如何做到这一点。
可能有几种方法可以解决这个问题。第一个,我想到的很简单。
请尝试以下步骤:
- 拉取所有字段
- 存储在数组中
- 按升序对数组进行排序
- 显示结果。
我希望,您对代码有一些了解,但这里是编码指南......
<?php
$fields = get_fields();
$company_details = array();
if( $fields ):
foreach( $fields as $name => $value ):
$company_details[ $name ] = $value;
endforeach;
endif;
//to sort by company score
arsort( $company_details );
//loop through the array and display results, like
foreach( $company_details as $name => $value):
echo "Company name is: " .$name. ". Company Score: " . $value;
endforeach;
PS:代码没有经过测试,因为目的是与您共享逻辑。因此,如果有任何错误,请忽略。