Как отсортировать поле повторителя по алфавиту?ACF - PullRequest
0 голосов
/ 07 апреля 2019

Я хочу отобразить список имен пользователей и упорядочить их в алфавитном порядке по имени пользователя. Как я могу это сделать? Прошу помощи в решении этой проблемы:

<?php if(get_field('sign_up',  'options')): ?>

<ul>

<?php while(has_sub_field('sign_up',  'options')): ?>

    <li><?php the_sub_field('your_name', 'options'); ?></li>

<?php endwhile; ?>

</ul>

<?php endif; ?>

1 Ответ

0 голосов
/ 09 апреля 2019

Попробуйте следующее, сделав нас функцией array_multisort ():

<?php // Get repeater value
$repeater = get_field('sign_up',  'options');

// Obtain list of columns
foreach ($repeater as $key => $row) {
    $the_name[$key] = $row['your_name'];
}

// Sort the data by name column, ascending
array_multisort($the_name, SORT_ASC, $repeater);?>

<?php if($repeater): ?>
    <ul>
        <?php while(has_sub_field('sign_up',  'options')): ?>
            <?php foreach( $repeater as $row ) { // Display newly orded columns ?>
                <li><?php echo $row['your_name'];?></li>
            <?php } ?>
        <?php endwhile; ?>
    </ul>
<?php endif;?>
...