WordPressでカスタムフィールドの値での複数キーワード検索(AND検索)を行
-
ただいまWordpressで構築したサイト内に検索機能を実装する作業をしております。
しかし、カスタムフィールドの値を含めたAND検索を行いたいのですがうまくいきません。include_once($_SERVER[‘DOCUMENT_ROOT’] .”/custom-post-type.php”);
をfunction.phpに挿入し、カスタム投稿タイプで登録されている記事タイトルを検索対象にすることができました。しかし、
http://www.warna.info/archives/2307/
上記URLの「WordPressでカスタムフィールドも検索対象にする」を参考にして
function.phpにソースを挿入した結果、カスタムフィールドのmeta_valueの値で単一ワードの検索はできるようになりましたが、
複数ワードのAND検索になるとうまくいきません。【例:】
タイトル:アルバイトの詳細(カスタム投稿タイプ)
場所:新宿(カスタムフィールド)
備考:弁当持参(カスタムフィールド)という記事があった場合、
ソース内9行目下記の部分を
$add_search = ” OR ( pm.meta_key IN ( ‘meta_key1’, ‘meta_key2’, ‘meta_key3’ )
AND pm.meta_value LIKE ‘{$n}{$term}{$n}’)”;↓
$add_search = ” OR ( pm.meta_key IN ( ‘場所’, ’備考’)
AND pm.meta_value LIKE ‘{$n}{$term}{$n}’)”;にして、
サイト内検索で「アルバイト 新宿」または「アルバイト 弁当持参」
と入力すると検索結果がヒットしますが、「新宿 アルバイト」とキーワードを入れ替えたり、
「新宿 弁当持参」などカスタムフィールドの値のみをキーワードとして検索すると
ヒットしません。他の参考サイトも色々調べてみましたが、どの部分を直せば検索できるようになるのかわからず、困っています。
なかなか解決できないので、教えていただけると幸いです。
どうぞよろしくお願いいたします。
- トピック「WordPressでカスタムフィールドの値での複数キーワード検索(AND検索)を行」には新たに返信することはできません。