投稿日:2019年07月19日
カスタムフィールドの内容でソートする場合
カスタムフィールドの内容でソートする場合、「‘paged’ => $paged」を追加しておかないと2ページ目以降も同じ内容が表示されてしまう。
アーカイブページで「イベント情報」とかで「イベント開始日順」で表示したいときなどによく使う。
<ul>
? ? <?php
? ? ? ? query_posts(
? ? ? ? ? array(
? ? ? ? ? ? ? ? ‘post_type’ => ‘event’, //カスタム投稿タイプの名称を入れる
? ? ? ? ? ? ? ? ‘meta_key’=>’イベント開始日’, //ソートするカスタムフィールド名
? ? ? ? ? ? ? ? ‘orderby’ => ‘meta_value’, //meta_keyの値でソートするという指示
? ? ? ? ? ? ? ? ‘order’ => ‘DESC’,
? ? ? ? ? ? ? ? ‘paged’ => $paged
? ? ? ? ? ? )
? ? ? ? );
? ? ?>
? ? <?php if (have_posts()) : ?>
? ? <?php while (have_posts()) : the_post(); ?>
? ? <li>
? ? ? ~~~表示処理~~~
? ? </li>
? ? <?php endwhile; ?>
</ul>
<div class=”navPage”>
<div class=”prev”><?php previous_posts_link(); ?></div>
<div class=”next”><?php next_posts_link(); ?></div>
</div>
<?php else: ?>
<p>現在お知らせはありません。</p>
<?php endif; ?>
アーカイブページ
アーカイブページで
‘post_type’ => ‘event’,
のように指定するとページャー2ページ目以降が表示されないことがある。
外してシンプルにしましょう。
