例示のコードを詳しく見たわけではありませんが、
カテゴリを
チェックボックス付き、あるいはマルチセレクトボックスで表示し
「submit」で選択カテゴリを表示する、のようなコードに見えます。
お求めの検索の機能は無いように思うのですが、違いますか。
ご希望の「検索に条件を付けて」ですと過去にも何度かトピックがたっていたと思います。
通常の検索ルーチンにプラグインかテンプレート・functions.phpでadd_filterする関数を作れば対応できると思います。
すでにそのようなプラグインが存在するのかはわかりません。
MONKMASTERさん、taikikenさん、こんにちは。
query_postsのcategory__andパラメータは、HAVING句でcategory__andの要素数と同一のもの、つまり指定されたカテゴリーすべてに合致するものを返すので、ロジック的にはMONKMASTERさんのご要望通りのものになると思われます。
検索結果が表示されない原因は、上記の文章からでは問題の特定ができません。
ポストされたデータやquery_posts後の$postsなどをdumpさせてみて、想定通りかどうか確認ください。
なお、例示のコードは、$_SERVER[‘PHP_SELF’]がフォームのaction属性に指定されおり、$_SERVER[‘PHP_SELF’]によるXSSの脆弱性がありますので、そのまま使用しないでください。
また、HTMLのコード的にも属性値がクォートされていないなど、あまり良いコードとはいえません。