以编程方式重新排序ACF图库附加组件中的图像。Orderby标题、ID等

时间:2012-11-06 作者:Joshc

我有一个图库字段,使用advanced custom fields gallery addon.

这就是我如何在我的主题中输出我的库字段/图像。。。

<?php

$images = get_field(\'gallery\');

if( $images ): ?>

    <div id="gallery-1">

        <?php foreach( $images as $image ): ?>

            <img src="<?php echo $image[\'url\']; ?>" alt="<?php echo $image[\'alt\']; ?>" />

        <?php endforeach; ?>

    </div>

<?php endif; ?> 

这是我在文档中看到的实现它的唯一方法。

现在有谁知道我如何在循环中输出图像时按标题、id或任何东西对图像进行排序?


非常感谢

2 个回复
最合适的回答,由SO网友:Jen 整理而成

您可以使用Php的usort() 具有回调的函数。例如,如果您想按ID对图像进行排序,可以尝试以下方法(窃取@Milo在回答中使用的过滤器):

<?php
function sort_callback($a,$b)
{
  if ($a[\'id\'] == $b[\'id\']) {
    return 0;
  }
  return ($a[\'id\'] < $b[\'id\']) ? -1 : 1;
}

function my_acf_load_field( $field ){
  usort( $field, \'sort_callback\');
  return $field;
}
add_filter( \'acf_load_field-gallery\', \'my_acf_load_field\' );
您可以调整sort_callback 函数按您想要的$image数组中的任何值进行排序。

SO网友:Milo

请参阅文档了解acf_load_field-{$field_name} 过滤器:

function my_acf_load_field( $field ){
    // sort $field
    return $field;
}
add_filter( \'acf_load_field-gallery\', \'my_acf_load_field\' );

结束

相关推荐

以编程方式重新排序ACF图库附加组件中的图像。Orderby标题、ID等 - 小码农CODE - 行之有效找到问题解决它

以编程方式重新排序ACF图库附加组件中的图像。Orderby标题、ID等

时间:2012-11-06 作者:Joshc

我有一个图库字段,使用advanced custom fields gallery addon.

这就是我如何在我的主题中输出我的库字段/图像。。。

<?php

$images = get_field(\'gallery\');

if( $images ): ?>

    <div id="gallery-1">

        <?php foreach( $images as $image ): ?>

            <img src="<?php echo $image[\'url\']; ?>" alt="<?php echo $image[\'alt\']; ?>" />

        <?php endforeach; ?>

    </div>

<?php endif; ?> 

这是我在文档中看到的实现它的唯一方法。

现在有谁知道我如何在循环中输出图像时按标题、id或任何东西对图像进行排序?


非常感谢

2 个回复
最合适的回答,由SO网友:Jen 整理而成

您可以使用Php的usort() 具有回调的函数。例如,如果您想按ID对图像进行排序,可以尝试以下方法(窃取@Milo在回答中使用的过滤器):

<?php
function sort_callback($a,$b)
{
  if ($a[\'id\'] == $b[\'id\']) {
    return 0;
  }
  return ($a[\'id\'] < $b[\'id\']) ? -1 : 1;
}

function my_acf_load_field( $field ){
  usort( $field, \'sort_callback\');
  return $field;
}
add_filter( \'acf_load_field-gallery\', \'my_acf_load_field\' );
您可以调整sort_callback 函数按您想要的$image数组中的任何值进行排序。

SO网友:Milo

请参阅文档了解acf_load_field-{$field_name} 过滤器:

function my_acf_load_field( $field ){
    // sort $field
    return $field;
}
add_filter( \'acf_load_field-gallery\', \'my_acf_load_field\' );

相关推荐