WordPressにおける検索フォームについて
searchform.php(検索窓)とsearch.php(検索結果表示)を用意する。
name=”s” であることが大事。
<form method="get" action="<?php bloginfo('url'); ?>">
<input name="s" type="text" placeholder="keyword"/>
<button type="submit"><div>検索</div></button>
</form><?php
/*
Template Name: 検索結果ページ
*/
get_header(); ?>
<div class="container" style="margin-top: 70px;">
<?php if (have_posts()): ?>
<h2 class="text-center">
<?php
if (isset($_GET['s']) && empty($_GET['s'])) {
// 検索キーワードが未入力の場合のテキストを指定
echo '検索キーワード未入力';
} else {
// 検索キーワードと該当件数を表示
echo '“'.$_GET['s'] .'”の検索結果:'.$wp_query->found_posts .'件';
}
?>
</h2>
<ul>
<?php while(have_posts()): the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php echo get_the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php else: ?>
検索されたキーワードにマッチする記事はありませんでした
<?php endif; ?>
</div><!-- container -->
<?php get_footer(); ?>
