目次
準備するもの
- カスタム投稿タイプを使用
- Advanced Custom Field
記事の順番を指定できるプラグインで、不具合なく安心して使用できるものがないため、カスタムフィールドを使用して記事の順番を指定しています。
いろいろ試したのですが、条件や他のプラグインとの競合で、正しく動作したりしなかったりするので。
ちょっと面倒ですが、今のところこの方法が一番安全かと思っています。
カテゴリー(ターム)の表示順を任意の順にソートする(プラグインなし)
single.phpに所属タームが複数ある場合に、所属タームの表示順を指定する方法です。並び順を変更するプラグインもありますが、複数のカスタム投稿タイプが登録されてい…
手順1.カスタムフィールドで表示させたい記事のチェック欄を作る
フィールドタイプ 真偽、今回はフィールド名は ‘pickup’ とします。
手順2.カスタムフィールドで表示させたい記事の順番を入力する欄を作る
フィールドタイプ テキスト、フィールド名は ‘number’ とします。
記事投稿画面にカスタムフィールドが追加されますので、入力します。
手順3.出力する
記事を表示させたい箇所に、以下を記述します。
<ul>
<?php
$paged = (int) get_query_var('paged');
$args = array(
'posts_per_page' => 3,
'paged' => $paged,
'post_type' => 'custom_post_type', // ポストタイプ名
'meta_key' => 'number',
'orderby' => 'meta_value_num', // _numを忘れると数字として認識されないようです
'order' => 'ASC',
'meta_query' => array(
'key' => 'pickup',
'value' => true,
)
);
$the_query = new WP_Query($args);
?>
<?php if ( $the_query->have_posts() ): ?>
<?php while ( $the_query->have_posts() ): $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>">
<?php the_title(); ?>
</a>
</li>
<?php endwhile; ?>
<?php else : ?>
<p>記事はありません</p>
<?php endif; ?>
</ul>
<?php wp_reset_postdata(); ?>
コメント