ACF 根据字段值进入前 10 名



我现在使用 ACF 有一段时间了,我认为这会更容易,但无法弄清楚如何正确执行此操作......

我正在尝试创建某种奖杯柜。因此,每家公司都有一个存储在名为"company_score"的ACF中的分数。

例如,我们有名为Microsoft,Facebook和Twitter的公司。他们都有一个分数:

  • 脸书 = 200000
  • Microsoft = 900000
  • 推特 = 100000

所以前 3 名会像

  • 1) Microsoft
  • 2)脸书
  • 3)推特

我知道如何显示 ACF 的值,但我如何比较存储的所有分数,当一家公司获得最高分数时,它将显示金牌。当一家公司获得第二好的分数时,它将显示银牌,依此类推。

我脑子里都想通了,但有点卡在这里如何做到这一点。

可能有几种方法可以解决这个问题。第一个,我想到的很简单。

请尝试以下步骤:

  1. 拉取所有字段
  2. 存储在数组中
  3. 按升序对数组进行排序
  4. 显示结果。

我希望,您对代码有一些了解,但这里是编码指南......

<?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:代码没有经过测试,因为目的是与您共享逻辑。因此,如果有任何错误,请忽略。

相关内容

  • 没有找到相关文章

最新更新