ACF根据字段值进入前10名

时间:2018-07-09 10:43:21

标签: php wordpress compare advanced-custom-fields

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

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

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

  • Facebook = 200000
  • Microsoft = 900000
  • Twitter = 100000

所以前3名就像

  • 1)微软
  • 2)Facebook
  • 3)Twitter

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

我都想通了,但是如何执行此操作有点卡住了。

1 个答案:

答案 0 :(得分:0)

可能有几种方法可以解决此问题。我想到的第一个非常简单。

尝试以下步骤:

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