[WordPress] 検索フォーム

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(); ?>
タイトルとURLをコピーしました