忍者ブログ
14 November

searchform.php search.php を設置する

searchform.php


ウィジェットの検索欄・検索フォームタグを置くと、コアファイルのphpから出力されます。
searchform.phpを作ってアップロードすると、検索フォームの読み取りは
こちらが優先されます。
最初に「検索:」みたいなラベルがデフォでついてて、みんな消したいと思うと思います。
フックで消したりdisplay:none;で消したり、わかりにくいしめんどくさい。
searchform.phpを置いてそこでパッとどうなってるかわかるようにしたほうが
早くてわかりやすい。

search.php


検索結果の使用テンプレ優先順位
search.php → index.php

index.phpってカスタム色々してると結局使われない。
カスタムしないなら全部index.phpでいい勢い。

有名どころのをみて、index.php の中で is search で条件分岐させて表示させていたんだが、
ふと検索結果が0件だったときどうなんだろ、と思ってやってみたら content としている
部分が何も表示がなくなった。
条件分岐の記述を探して色々入力してたけど表示されず。
たぶんやり方はあるんだろうけど、かたくなにindex.phpにこだわってないので
さっさと切り替えて search.php を作ることにした。
いや、もうわけたほうがわかりやすいよね!使いたくないなら削除すればいいだけだし。

http://www.webcreator-net.com/tips_memo/wordpress/20120311223048.html#searchresult

ループ前に検索結果数と検索結果0のときの条件分岐を記述するらしい。
やったけど検索結果0で上記の文章がでてこない。
404.phpの「おさがしの記事が見つかりませんでした」って出てて、もしやって思った。
404.php設置、index.phpコピペったのでsearch.phpに
<?php if (!have_posts()) {
header("HTTP/1.1 404 Not Found");
include (TEMPLATEPATH . '/404.php');
return; } ?>
の記述があり、検索結果0のときは404.phpが読み込まれていた。

まぁこれでもかまわないんだろうけど、検索結果0件専用の「見つかりませんでした」
を表示したかったので、404読み込みコードを削除したら無事目的の文章が表示された
PR