2016-09-16 7 views
-2

私はWordpressにQuery Expansionソフトウェアを統合しようとしていますが、Wordpress検索エンジンはAND検索者です(クエリのすべての単語を含むコンテンツを返します。より少ない結果が返ってくるかどうかを問い合わせる)。 そのため、拡張機能でクエリを使用すると、Searcherは私に返す結果が少なくなります。 検索の動作を変更して、ORサーチャーのようなものにしたいと思います。Wordpress検索でのクエリの変更

例:クエリ「IOT、モノのインターネット」のために は、私はそれらのどの内容「IOT」の記事、または「モノのインターネット、またはそれらの両方を望む

を私はこれを読んました。文書(https://codex.wordpress.org/Class_Reference/WP_Query)と私はこのような何かを使用してみました:。

add_action('template_redirect', 'hooks_setup' , 20); 
function hooks_setup() { 
    if (! is_home()) //<= you can also use any conditional tag here 
     return; 
    add_action('__before_loop'  , 'set_my_query'); 
    add_action('__after_loop'  , 'set_my_query', 100); 
} 

function set_my_query() { 
    global $wp_query, $wp_the_query; 
    switch (current_filter()) { 
     case '__before_loop': 
      //replace the current query by a custom query 
      //Note : the initial query is stored in another global named $wp_the_query 
      $wp_query = new WP_Query(array(
       'post_type'   => 'post', 
       'post_status'  => 'publish', 
       //others parameters... 
      )); 
     break; 

     default: 
      //back to the initial WP query stored in $wp_the_query 
      $wp_query = $wp_the_query; 
     break; 
    } 
} 

をしかし、私は、私はwp_queryに設定する必要のあるパラメータを知らない私はこれを達成するにはどうすればよい

+0

質問したことはありませんが、あなたのやりたいことだけが書かれ​​ています。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 –

答えて

1

は何をパラメータに答えるためには?設定する必要があります、あなたは再する必要があります広告はsame page you mentionedにあります。このページでは、さまざまなアイテム(ポストタイプまたはカテゴリ)のパラメータが定義されています。変更する場合は、パラメータを変更するだけです。

あなたがしたい質問がわからないのなら、私はその人が手助けするのは難しいと思います。結果が少なくなった場合は、さらに少し質問を開いたり、2つの検索結果を表示したりすることができます。このページを読んでみると、人々がさまざまなタイプのデータを取得したいが、すべてがループに入っているわけではないということがわかるだろう。

read through thisまた、ループの詳細とクエリをリセットして新しいクエリを実行する方法については、2つの結果セットを取得して、それらを使用するか、いつでもどこでも組み合わせることができます。

same pageからsをパラメータとする投稿の文字列検索の例を提供します。ハイフンで用語を追加すると、その用語に一致する投稿は除外されます。例えば、 'pillow -sofa'は 'pillow'ではなく 'sofa'(バージョン4.4から利用可能)を含む投稿を返します。

+0

私が理解したところから:彼は単語を与えられた機能(クエリ拡張)を持っています。それは他の言葉を返します(つまり、サッカーは「サッカー」、「チームスポーツ」を返します)。その後、これらすべてのキーワードを検索したい(ただし、同じ記事のすべてではなく、単語/単語ごとに1件の検索)。したがって、 "サッカー"、 "サッカー"、 "チームスポーツ"を検索し、結果を組み合わせます。 – Ivan

+0

カンマで区切られたキーワードの配列を送信し、これらのキーワードがある投稿をすべて取得するのが理想的です。このようなクエリを作成する関数を作成したり、複数のクエリの結果セットを結合することができます。 –

+0

@イワンそれはまさに私が言いたいことです。ありがとう! – dtd93

関連する問題