このチュートリアルでは、検索ページに簡単な関数を追加して、検索語と結果数を表示する方法を共有します。この機能は、ユーザーからのメールによる特別なリクエストでした。トピックをカバーしてほしい場合は、提案を自由に行ってください。

テーマのsearch.phpファイルを開き、次のコードを追加します。
<h2 class="pagetitle">Search Result for <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>
上記のコードは次のように表示されます。
twitterの検索結果 — 15件の記事
テーマのスタイルシートに.search-terms CSSクラスを追加することで、検索語をハイライト表示することもできます。以下に、開始に役立つ簡単なCSSを示します。
.search-terms {
background-color:yellow;
color:blue;
}
これは、検索ページをカスタマイズする際にできるクールなことの1つです。検索結果で検索語をハイライトしたり、WordPress検索にカテゴリ別検索機能を追加したりすることもできます。
出典: Michael Martin


アニルッド
このコードをsidebar.phpファイルで使用できますか?サイドバーに検索語と結果数を表示する必要があるためです。助けてください。
Marco
thanks a lot for this snippet!
wp codexによると、wp_specialchars関数は非推奨です。代わりにesc_htmlを使用するように記載されています。
Regards,
Marco
Marco
次回はコメントを詳しく見てみます。CHADHAYTONはすでに、現在どのように処理できるかについてのリンクを投稿しています。
ヘンリー
echo $wp_query->found_posts;
これを検索ページの先頭に追加すると、特定の検索で見つかった投稿数が表示されます。
echo get_search_query();
これは検索語(サイト訪問者が検索ボックスに入力したもの)を表示します。
timer_stop(1);
これは検索の実行にかかった時間を表示します。
これらをすべて合わせると、次のような出力が得られます。
「コーヒー豆」の検索結果は「16」件で、「0.87」秒でした。
jameslhf
Thank you Henry, that helped me!
Prasanna
ヘンリー、ありがとう。とても助かりました。
chadhayton
この投稿がどれくらい古いものか判断するのは難しいですが、WordPress 3.1 には、個別のクエリを必要としない総検索結果を取得する方法が含まれています。
http://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results
クリス・マーフィー
わあ。WordPress の検索結果をカウントするのは、それよりもずっと簡単ですね。こちらです:
global $wp_query; $count = sizeof( $wp_query->posts ); echo"<pre>"; //var_dump($wp_query);// The WP Query Object var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural) echo"</pre>";そのスニペットを検索テンプレートにドロップすると、「$wp_query」変数のプロパティ、特にオブジェクトの「posts」プロパティが出力されます。これは、検索クエリから返された投稿のコレクションを格納する配列であり、それにアクセスすると、PHPの「count()」または「sizeof()」関数を使用してその配列内の投稿数を*カウント*するなど、さまざまなことができます。
編集スタッフ
コードが少し切れています。スニペットをメールで送信して、試して記事にすることはできますか?もちろん、あなたに完全なクレジットが与えられます。
管理者
Ilya
クリス、
これはうまくいきません。重要なのは、クエリに一致する結果の総数を調べることであり、現在取得されている数ではありません。ページに「収まる」数よりも多くの結果がある場合、コードはページ上の要素の数しか取得しません。
pete
検索結果はユーザーにとって個人的なものなので、多くの情報を提供できると良いでしょう。
basilakis
So the code is right or not?
I see Konstantin has some point about the query, but the comments “ate” the results!
編集スタッフ
このコードは正しいです。動作しており、彼が指摘している唯一の問題は、別の方法でも実現できるということです。このコードはクライアントのウェブサイトで使用しており、正常に動作しています。
管理者
コンスタンティン
良いアイデアだ。実行が悪かった。
一体なぜ span タグを翻訳したいんだ??
そしてお気に入りは:
_e('');は??なぜ同じ検索を二度もクエリしたいんだ?
全く意味が分からない。
しかし、悪意を持って言っているわけではありません。これは(私の謙虚な意見では)行うべき方法です。
post_count); ?>
トム
ページ内検索についてはあまり深く考えていませんでした。このようなものは、ページをよりパーソナルにするので素晴らしいです。