検索フォームを作る

忘れないように自分のためのメモです。
このブログでも使われています。検索ワードのみでサイト内検索をするタイプのもの。

検索元のphp

<form method="get" action="<?php bloginfo('url'); ?>/" class="search_form">
    <input type="text" name="s" value="<?php echo $_GET['s']; ?>" placeholder="search..." />
    <!-- 値をsearch.phpへ渡す -->
</form>

search.php

<div class="entry">
    <div class="entry_inner inner">
        <?php
        $s = $_GET['s'];//検索ワードを変数にしておく
        ?>
        <div class="search"><?php if($s){ ?>検索キーワード:<?php echo $s; ?><br><?php } ?></div>
        <?php
        $args = array(
            'showposts' => -1,//全件表示
            'order' =>'asc',//昇順で表示
            's' => $s,//検索ワード
        );
        $customPosts = get_posts($args);
        if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?>
        <!-- foreachで回す -->
        <article class="entry_post  clearfix post_<?php the_ID(); ?>">
            <div class="entry_contents ">
                <h3 class="entry_title">
                    <a href="<?php echo get_permalink(); ?>">
                        <?php the_title(); ?>
                    </a>
                </h3>
                <time class="entry_time">
                    <?php echo get_the_date('Y/m/d'); ?>
                </time>
                <div class="entry_main clearfix">
                    <?php the_excerpt('続きを読む'); ?>
                </div>
                <div class="entry_cat "><?php the_category('  '); ?></div>
            </div>
        </article>
        <?php endforeach; ?>
        <?php else :  ?>
            <p>お探しの記事はありませんでした。</p>
        <?php endif;  wp_reset_postdata(); ?>
    </div>
 </div>
  • コーダーのための計算機