こんな感じでしょうか。
<?php query_posts("showposts=1&orderby=rand"); ?>
<?php the_post(); ?>
<a href="<?php the_permalink(); ?>">(カテゴリー名)</a>
<?php wp_reset_query(); ?>
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. トップページから該当のランダム記事に直接飛ばすのも
可能だと思いますが、私には冗長なコードしか思いつきません。
教えていただいたコードで思うように表示できるようになりました。
PHPが分かる方なら簡単なことだったんでしょうね…
コードのおかげで自分が躓いていた原因も解かりました。
ありがとうございます。