[WordPress] 検索ボックスに入力した単語を保つ

web

検索結果ページに飛ぶと検索ボックスが空になる件

WordPressでサイト内検索した時、検索結果ページ(search.php)に飛ぶと検索ボックス内が空になってしまいます。
この仕様は何かと不自由なので、保持するようにしました。

<?php if( is_search() ) $search_query = get_search_query(); ?>
<form role="search" method="get" action="<?php bloginfo('url'); ?>">
    <input type="text" name="s" value="<?php if( $search_query ) echo $search_query; ?>">
    <button type="submit">検索</button>
</form>

検索単語はget_search_query()という関数で呼び出せます。
1行目でif文で条件分岐し、検索結果ページにいる場合は$search_queryという変数に検索単語を代入。
3行目、$search_queryに値が入っていたら、inputのvalueに検索単語を入れます。

これで検索後も検索ボックスが空にならない!やったぜ。

目次へ戻る