詳細についてはWordPress検索正確なフレーズをご覧ください。
WordPress検索正確なフレーズ
単語またはフレーズを検索すると、キーワードに関連するさまざまな投稿が表示されます。これはWordPress検索に関する最も一般的な質問です。たとえば、あなたが探している用語を取り上げ、 ‘search exact phrase’ と検索した場合、 ‘search’ 、 ‘phrase’ 、 ‘exact’ という用語を持つ投稿が表示されます。しかし、 ‘search exact phrase’ という検索語句の結果を見たい場合、コードを微調整することで実現できます。
WordPressのデフォルトクエリを変更することで、以下の異なる技術に従って、これを実現できます:
- pre_get_posts
- query_posts
- SQLステートメントフィルター
- wp_the_query
上記のいずれかの技術を使用して、WordPress検索正確なフレーズを実現できますが、’pre_get_posts’ が最も簡単な方法です。テーマのfunctions.phpにフック ‘pre_get_posts’ を追加するだけで、デフォルトクエリを変更できます。実際のクエリが実行される前に、このフックはクエリ変数オブジェクトが作成された後に呼び出される必要があります。このフックは、プログラマーにクエリオブジェクトへの参照を提供します。
‘exact’ というパラメータがあり、検索クエリが検索語句を正確に一致させるか、デフォルトで設定された方法で結果を返すかを設定できます。検索を正確なモードにカスタマイズするには(検索語句の各単語を一致させる)、テーマのfunctions.phpファイルにカスタマイズされたコードを挿入する必要があります。
ビデオを見ることでさらに詳しく学ぶことができます:
詳細については、こちらのビデオをご覧ください。
全ての検索ニーズに対応するためには、ExpertrecのWordPressプラグイン「WP Fastest Site Search」をご利用いただけます。
- WordPressの管理パネルにログインします。
- 「プラグイン」->「新規追加」とクリックし、「WP Fastest Site Search」を検索します。プラグインをインストールし、忘れずに有効化してください。
月額9 USDで素晴らしい検索をあなたのWordPressサイトに追加する
- プラグインを有効化すると、サインアップページに移動します。これは2ステップのプロセスです。ステップ1では、サイトURL(デフォルトで自動的に入力されます)を入力し、インデックスオプション(woocommerceが有効でない場合)を選択する必要があります。その後、「続ける」ボタンをクリックしてステップ2に進みます。
- ステップ2では、Googleでサインアップするか、OTPでサインアップするかの2つのオプションがあります。いずれかのオプションを選択してサインアップを完了してください。
- 15日間の無料トライアル期間中に有料プランにアップグレードすることを忘れないでください。(価格は月額9 USDからです)
- プラグインの統合、機能、検索の改善方法について詳しくは、このブログWordpress Fastest Site Searchをご覧ください。
- これで完了です!新しいWordPress検索が稼働しています!以下は検索フォームと検索結果ページのスナップショットです。
- WordPress検索オートコンプリートのスナップショット。
- WordPress検索結果ページのスナップショット。
- WordPress検索のスペリングエラートレランス機能のスナップショット。
- プラグイン方法が機能しなかった場合は、https://cse.expertrec.com/csedashboard/home/codeからコードを取得し、WordPressのPHPコードに追加することができます。検索ボックスを表示したい場所に<ci-search></ci-search>コードを別途追加する必要があります(ヒント!-サポートチームに連絡してこれを行ってもらう)。統合には一度限りの料金がかかる場合があります。
<script> (function() { var id = 'your_api_key'; var ci_search = document.createElement('script'); ci_search.type = 'text/javascript'; ci_search.async = true; ci_search.src = 'https://cse.expertrec.com/api/js/ci_common.js?id=' + id; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ci_search, s); })(); </script> <ci-search></ci-search>
月額9 USDで素晴らしい検索をあなたのWordPressサイトに追加する
WordPressサイトの検索機能を向上させる際には、正確で精密な結果を得ることが重要です。WordPressはデフォルトで基本的な検索機能を提供しますが、正確な一致結果を得るためにカスタマイズするためのさまざまな手法があります。本ブログでは、pre_get_posts、query_posts、SQLステートメントフィルター、およびwp_the_queryの4つの強力な方法を探ります。
pre_get_postsの利用:
pre_get_postsアクションフックは、デフォルトのクエリが実行される前に変更するための強力なツールです。このアクションにフックすることで、検索クエリ、投稿タイプ、その他の重要なパラメーターを変更することができます。これにより、検索プロセスを微調整し、正確な一致を優先させることができます。
コードスニペットの例:
function custom_search_exact_match($query) {
if ($query->is_search) {
$query->set('exact', true);
}
}
add_action('pre_get_posts', 'custom_search_exact_match');
この例では、exactパラメーターをtrueに設定し、検索クエリが正確な一致を行うようにします。
query_postsの実装:
query_posts関数は、WordPressクエリをカスタマイズするもう一つの方法です。これはメインクエリを上書きすることができますが、意図しない結果を避けるために注意して使用する必要があります。適切に使用すれば、検索結果を精緻化するための便利なツールになります。
コードスニペットの例:
function custom_search_exact_match() {
if (is_search()) {
query_posts(
array(
's' => get_search_query(),
'exact' => true,
)
);
}
}
add_action('template_redirect', 'custom_search_exact_match');
ここでは、query_postsを使用して検索クエリを変更し、正確な一致を強制します。
SQLステートメントフィルターの活用:
SQLに慣れている上級ユーザーにとって、SQLクエリを直接変更することで、検索プロセスを細かく制御することができます。posts_searchフィルターを使用すると、検索クエリのSQL WHERE句をカスタマイズできます。
コードスニペットの例:
function custom_search_exact_match($search, $query) {
global $wpdb;
if ($query->is_search) {
$search = preg_replace("/( {$wpdb->posts}.post_title LIKE '%)(%s%)(')/", "$1{$wpdb->posts}.post_title = '$2'$3", $search);
}
return $search;
}
add_filter('posts_search', 'custom_search_exact_match', 10, 2);
このコードは、検索時に投稿タイトルに対して正確な一致を強制するようにSQLクエリを調整します。
wp_the_queryの強化:
wp_the_queryフィルターを使用すると、メインクエリが実行される直前に変更を加えることができます。このフィルターを使用して、特定の検索要件に合わせた調整を適用できます。
コードスニペットの例:
function custom_search_exact_match($query) {
if ($query->is_search) {
$query->set('exact', true);
}
add_filter('wp_the_query', 'custom_search_exact_match');
pre_get_postsと同様に、このコードは検索クエリが正確な一致を行うことを保証します。
結論:
WordPressの検索を正確な一致結果にカスタマイズするには、デフォルトの検索機能を改善するためのさまざまな手法を探る必要があります。pre_get_postsやtemplate_redirectのようなアクションフック、SQLステートメントフィルター、またはwp_the_queryフィルターを使用するかどうかにかかわらず、カスタマイズとサイトの機能性の維持とのバランスを取ることが重要です。これらの手法を試して、徹底的にテストし、あなたの特定のニーズに最も適した解決策を実装してください。
素晴らしい検索機能を月額9USDであなたのWordPressサイトに追加