WordPressの検索欄が未入力で全件表示してしまう件
2016/09/09
間違えて空欄で検索した時に全件表示・・・。
バグでもエラーでもないんですがなんかしっくり来ません。
空欄であれば0件表示かつ「検索条件が入力されていません。」などと言ってほしいもの。
これって日本人的な発想なのかな?
解決法が下記のページ(Web制作・運用Tipsアーカイブ様)で紹介されていたので抜粋いたします。
http://weback.net/wordpress/690/
【以下記事の抜粋です】
検索条件が未入力で検索をかけると、たとえsearch.phpが存在していても、index.phpを呼び出してしまいます。
その場合でも、search.phpを表示させるには、template_redirectというアクションフックを使い、functions.phpに以下のように記述します。
// 検索条件が未入力時にsearch.phpにリダイレクトする
function set_redirect_template(){
if (isset($_GET['s']) && empty($_GET['s'])) {
include(TEMPLATEPATH . '/search.php');
exit;
}
}
add_action('template_redirect', 'set_redirect_template');
なお、検索条件未入力時には、全件が検索結果となります。
そのケースではメッセージだけを表示し、検索結果を表示しないようにするには、search.phpに条件を追加する必要があります。
以下は、その条件を追加した記述例です。
<?php if (isset($_GET['s']) && empty($_GET['s'])) { ?>
<p>検索条件が入力されていません。</p>
<?php } else { ?>
<?php if(have_posts()): ?>
<?php while(have_posts()): the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
<?php else : ?>
<p>検索条件にヒットした記事がありませんでした。</p>
<?php endif; ?>
<?php } ?>
関連記事
-
-
WordPressで勝手に画像リサイズされる
いつもの防備録です。 本当に間抜けな話なんですが、これってほぼ間違 …
-
-
新着情報などでAll-in-One Event Calendarのカテゴリ名を表示する方法
ハマりました。 ドハマリしました。侮ってました。 「カテゴリ出力するだけでしょ。 …
-
-
mb_substr()使ってもサムネイルの見出しがズレるじゃん!という話
またしても忘備録。 WordPressでよくある、こういう感じの記事表示方法。 …
-
-
【ご注意】WordPressの不正コード改ざん
WordPressを狙った不正コードによる下記動画のような改ざんが横行しているよ …
-
-
アーカイブページでタームごとに記事一覧を出力する
カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …
-
-
WordPressのカテゴリー選択を1つに制限したがチェックできない場合
カテゴリの選択制限をかけている方はおそらく、jqueryを使って行っていると思わ …
-
-
タクソノミー(ターム)の記事一覧を出したい!
あれ?archive.phpで表示してる・・・? WordPressでカスタムタ …
-
-
海外テーマで文字化け回避したいの巻
テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …
-
-
Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする
カスタムフィールドで投稿した画像を自動でアイキャッチ画像にしたかったのですが、A …
-
-
プラグイン無しで外部サイトのRSSを表示するRSSリーダー的なもの
外部RSS(ブログの新着記事)を読み込む案件があったので「プラグインでええよなー …
