【WordPress】「Custom Field Suite」のループを入力した日付順に表示する方法(昇順・降順)
WordPressで繰り返しフィールドを無料で作ることが出来る「Contact Field Suite」。
その「Custom Field Suite」のループを出力する順番を、最近入力したものを上に表示させるパターンに遭遇したのでまとめました。
通常のループの出力方法はこちら:
<?php $fields = CFS()->get( 'test_loop' ); ?> <?php if ($fields) ://test_loop が存在するとき ?> <?php foreach ( $fields as $field ):?> <div> <p><?php echo $field['test_loop_text']</p> </div> <?php endforeach; ?> <?php else : //test_loop が存在しないとき ?> <p>表示する内容は現在ありません。</p> <?php endif; ?>
これだと昇順に出力されて、最初に入力したものが一番上に表示されます。
ループは、よく会社のホームページの沿革などで使われ、その場合は昇順で問題なかったのですが、先日「お知らせ」的なものをこのパターンで表示することになり、後から追加した最近の出来事を一番上に表示したい・・となりました。
最後に追加した、最近入力したものから順に出力する、降順に出力するには、下記の方法で出力できます!
<?php $fields = CFS()->get( 'test_loop' ); ?> <?php if ($fields) ://test_loop が存在するとき ?> <?php foreach ( array_reverse($fields) as $field ):?> <div> <p><?php echo $field['test_loop_text']</p> </div> <?php endforeach; ?> <?php else : //test_loop が存在しないとき ?> <p>表示する内容は現在ありません。</p> <?php endif; ?>
変更した箇所は、
「 foreach ( $fields as $field ) 」部分を、「 array_reverse($fields) as $field ) 」と変更した部分です。
「 array_reverse() 」で、降順に表示できます。
※「Contact Field Suite」の使い方は以前に記載したのですが、内容がわかりにくいので、また書き直します・・。以前まとめた内容はこちらです。