高级自定义字段foreach循环方向与WordPress相反

问题描述:

我一直在喋喋不休地关注这一项。高级自定义字段foreach循环方向与WordPress相反

背景:

下面的代码工作,并抓住了相关的WordPress后正确的分类项信息。

问题:

ACF正在输出的术语中的最新的顺序到最旧。 WordPress的$ game-> name;按照从最旧到最新的顺序输出术语。

这基本上意味着工具提示不匹配来自get_field('icon')的图像;

$games = get_the_terms(get_the_ID(), 'games') 

foreach ($games as $game) { 
    $term = array_pop($games); 
    if (get_field('icon', $term)) { 
     echo '<img src="' . get_field('icon', $term) . '" alt="' . $game->name . '" data-placement="bottom" data-toggle="tooltip" title="' . $game->name . '" />'; 
    } 
} 

到目前为止我试过:

  • 更新$游戏$games = get_the_terms(get_the_ID(), 'games', array('order' => 'DESC'))(无影响)。

  • 使用array_reverse颠倒$ games数组的顺序。

建议将非常感激。

您似乎是故意在您的代码中使用array_pop

只需使用$game变量从您的foreach循环:

$games = get_the_terms(get_the_ID(), 'games') 

foreach ($games as $game) { 
    //$term = array_pop($games); 
    if (get_field('icon', $game)) { 
     echo '<img src="' . get_field('icon', $game) . '" alt="' . $game->name . '" data-placement="bottom" data-toggle="tooltip" title="' . $game->name . '" />'; 
    } 
} 
+0

不幸的是array_pop()是需要有这方面的工作,我刚刚删除,并没有在循环返回。 ACF文档在他们的例子中也使用了这个 - https://www.advancedcustomfields.com/resources/get-values-from-a-taxonomy-term/ – Nick

+0

@Nick不,你一定是做错了。 'array_pop'只是简单地从数组中删除最后一个元素并返回它:http://php.net/manual/en/function.array-pop.php你是否确定你为'$ game'改变'$ term' foreach块,如上所述?特别是在if条款 – Steve

+0

中,你是绝对正确的,谢谢你突出了这个错误。这一切都工作得很好,非常感谢建议。 – Nick