サポート » 使い方全般 » wordpressのカスタム分類一覧をランダムに表示する方法教えてください。

  • 解決済 greon999

    (@greon999)


    カスタム投稿でプラグインCustom Post Type UI(CPT UI)を使っており、タクソノミー(投稿で言うところのカテゴリのようなもの)も設定しています。
    その、あるタクソノミー一覧を表示するとき、ランダムに表示したいのですが、上手くいきません。
    例えば、カスタム投稿で果物の記事を扱って、その中でタクソノミーがミカンの記事だけ一覧を取得して、それをページを読み込むたびに並びをランダムにしたいのです。

    カスタム投稿をランダムにする方法は
    <?php
    $args = array(
    ‘post_type’ => ‘fruit’,
    ‘posts_per_page’ => 5,
    ‘orderby’ => rand,
    );
    ?>
    <?php $loop = new WP_Query($args); ?>
    <?php while ($loop->have_posts() ) : $loop->the_post(); ?>
    ・・・

    でできますが、これだとミカン以外の記事も含まれてしまいます。

    ループの前に
    <?php query_posts($query_string .’&order=rand’); ?>
    を設置する方法では、エラーなのか何も表示されません。
    (一般の投稿ならこれでランダムになるのですが、カスタム投稿のタクソノミーでは上手くいかないのかも)

    archive.phpだけで、1つのファイルだけでミカンの時もリンゴの時もブドウの時もランダム一覧表示させたいので、タクソノミーのスラッグがミカンの時、というような設定はなしです。

    <?php while (have_posts()) : the_post(); ?>
    ・・・
    <?php endwhile; ?>
    の前に何か追記するか、何かで囲むかでできそうなものと思っていたのですが、カスタム投稿でのタクソノミー一覧のランダム表示というのが特殊なのか、いろいろ探しても見つからなかったのでここで質問させていただきました。

    何卒よろしくお願いいたします!

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 greon999

    (@greon999)

    お騒がせしました。
    自己解決しましたが、誰かのお役に立てればとメモしておきます。

    <?php
    $taxonomy_name = get_query_var(‘taxonomy’);
    $term_var = get_query_var( ‘term’ );
    $args = array(
    ‘taxonomy’ => $taxonomy_name,
    ‘term’ => $term_var,
    ‘posts_per_page’ => 5,
    ‘orderby’ => rand,
    );
    ?>
    <?php $loop = new WP_Query($args); ?>
    <?php while ($loop->have_posts() ) : $loop->the_post(); ?>
    ループ内容
    <?php endwhile; ?>

    上記でいけました!

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「wordpressのカスタム分類一覧をランダムに表示する方法教えてください。」には新たに返信することはできません。