サポート » 使い方全般 » カテゴリー・タグをランダムに表示したい

  • 解決済 kazu2234

    (@kazu2234)


    プルダウンやラジオボックスで選択されたカテゴリーやタグを、ボタンを押した時に次ページでランダムに表示したいのですがどうしたらいいのでしょうか?

    イメージとしてはボタンを押した時に直接記事ページに飛ばしたいのですが、カテゴリーページに飛んだりと、なかなか思うようにいきません。
    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんな感じでしょうか。

    <?php query_posts("showposts=1&orderby=rand"); ?>
    <?php the_post(); ?>
    <a href="<?php the_permalink(); ?>">(カテゴリー名)</a>
    <?php wp_reset_query(); ?>
    トピック投稿者 kazu2234

    (@kazu2234)

    hitakaさんお返事ありがとうございます。
    説明が下手ですいません。

    <form method=”get” action=”select”>
    <?php wp_dropdown_categories(‘depth=0&orderby=name&hide_empty=1&show_option_all=カテゴリー選択’); ?>
    <?php $tags = get_tags(); if ( $tags ) : ?>
    <select name=’tag’ id=’tag’><option value=”” selected=”selected”>タグ選択</option>
    <?php foreach ( $tags as $tag ): ?>
    <option value=”<?php echo esc_html( $tag->slug); ?>”><?php echo esc_html( $tag->name ); ?></option>
    <input id=”submit” type=”submit” value=”検索” />
    </form>
    トップページにあるこのフォームタグから例えば、「テレビ」というカテゴリと「お笑い」というタグが選択されたとしたら、「テレビ」「お笑い」に当てはまる記事の中からランダムで1記事表示したいんです。

    たぶん別ページを作って、取得したカテゴリIDなどからランダムにそのページに表示するという流れだと思うんですが初心者なのでなかなか上手くいきません。

    今はselect.phpというページを作って検索ボタンを押した時にそちらに飛ばし、
    URLにはselect?cat=5と出ているので、おそらくID自体は問題ないのかなと思うのですが、そこから先でつまっております。

    下記で試してみてください。

    select.phpに下記コードを記述。

    <?php query_posts("cat=$cat&tag=$tag&orderby=rand"); ?>
    <?php the_post(); ?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    <?php wp_reset_query(); ?>

    ps. トップページから該当のランダム記事に直接飛ばすのも
      可能だと思いますが、私には冗長なコードしか思いつきません。

    トピック投稿者 kazu2234

    (@kazu2234)

    教えていただいたコードで思うように表示できるようになりました。
    PHPが分かる方なら簡単なことだったんでしょうね…
    コードのおかげで自分が躓いていた原因も解かりました。
    ありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カテゴリー・タグをランダムに表示したい」には新たに返信することはできません。