【问题标题】:ACF repeater order by date sub fieldACF 转发器按日期子字段排序
【发布时间】:2020-09-20 20:17:09
【问题描述】:

我一直在尝试按日期顺序对我的 ACF 子字段进行排序,但是它工作得并不完全正确。它应该去

2020 年 1 月 6 日 20/05/2020 2020 年 14 月 5 日 2020 年 10 月 5 日

但它目前还在

2020 年 1 月 6 日 2020 年 10 月 5 日 2020 年 14 月 5 日 20/05/2020

这是我的代码,谁能告诉我哪里出错了?

<section class="news-updates">
        <?php
    $repeater = get_field('news_repeater');
    $order = array();

    if( $repeater ):
        foreach( $repeater as $i => $row ) {

            $eventdate = $row['news_date'];
            $order[ $i ] = $eventdate;

        }
    array_multisort( $order, SORT_ASC, $repeater );
?>



        <table class="news">
            <?php foreach( $repeater as $i => $row ): ?>
            <?php
                $eventdate = $row['news_date'];
             ?>


            <div class="news-item">
                <div class="news-date"><?php echo $eventdate; ?></div>
                <div class="news-content"><?php echo $row['description']; ?></div>
            </div>


            <?php endforeach; ?>
        </table>
        <?php

?>
        <?php endif; ?>
    </section>

我查遍了整个互联网,但似乎无法弄清楚。

【问题讨论】:

  • “有人能告诉我哪里出错了吗?” - 您正在尝试以一种格式对日期进行排序,这种格式一开始就不是“可排序的”。排序是通过对此处的两个项目进行字符串比较,从左到右逐个字符进行的。

标签: php wordpress wordpress-theming advanced-custom-fields acfpro


【解决方案1】:

你试过了吗

array_multisort( $order, SORT_ASC, $repeater );

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 2018-04-12
    • 2021-12-10
    • 2022-10-17
    • 1970-01-01
    • 2016-06-10
    • 2018-04-25
    • 2013-04-09
    • 2017-05-10
    相关资源
    最近更新 更多