<?php get_search_form(); ?>
これ一行で検索ボックスを表示できる
でこの検索結果を表示させるページが必要。search.phpで保存する。
page.phpかindex.phpを編集するとやりやすい
<h1>「<?php the_search_query(); ?>」の検索結果</h1>
<div id="kijibox">
<!--内容の出力-->
<?php if(have_posts() && get_search_query()): while(have_posts()): the_post(); ?>
<div class="kiji">
<h2><a class="linktitle" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<h3 class="postinfo_ind"><?php echo get_the_date(); ?> | カテゴリー:<?php the_category(','); ?><?php edit_post_link(' Edit',' |',''); ?></h3>
<div class="mojitext"><?php echo mb_substr(get_the_excerpt(), 0, 120); ?><a class="linkleft" href="<?php the_permalink(); ?>">続きを読む</a>]</div>
</div>
<?php endwhile;else: ?>
<p>該当する検索結果がありません。違うキーワードで検索してください。</p>
<?php endif; ?>
<!--内容の出力ここまで-->
</div>
●<?php the_search_query(); ?> で検索結果のキーワードを出力
●get_search_query() で検索キーワードを表示させるループが出来る
<?php if($wp_query->found_posts > 0): ?>
<p><?php echo $wp_query->found_posts;?>件が該当しました</p>
<?php else: ?>
<p>0件が該当しました</p>
<?php endif; ?>
<?php echo $wp_query->found_posts;?> で検索結果を表示させられる
<?php query_posts($query_string . '&cat=21'); ?>
cat=21 のところにカテゴリーIDを入れる。除外したい場合は -(マイナス)をつける。cat=-21
「特定のカテゴリだけ検索」の次に「検索結果表示」を持ってくる。
でないと結果表示がおかしくなる!
//function.phpに検索ワードが0や未入力のときにもsearch.phpを使うように追記
function search_template_redirect() {
global $wp_query;
$wp_query->is_search = true;
$wp_query->is_home = false;
if (file_exists(TEMPLATEPATH . '/search.php')) {
include(TEMPLATEPATH . '/search.php');
}
exit;
}
if (isset($_GET['s']) && $_GET['s'] == false) {
add_action('template_redirect', 'search_template_redirect');
}