2016-09-16 51 views
-2

我試圖將查詢擴展軟件與Wordpress集成,但wordpress搜索引擎是AND搜索器(返回包含查詢中所有單詞的內容,因此更廣泛的是查詢更少的結果返回)。 因爲這個原因,當我使用具有擴展功能的查詢時,搜索器返回的結果更少。 我想修改搜索的行爲,並將其變成更像是搜索者的東西。在Wordpress搜索中修改查詢

例子: 對於查詢「物聯網,物聯網」,我想那些內容「物聯網」的帖子,或「物聯網,或兩者

我已經通過這個閱讀。文件(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瞭解更多關於循環以及如何重置查詢和做一個新的,那麼你可以獲得兩個結果集並使用它們或將它們組合在你想要的時間和地點。

只是給你一個以s爲參數的帖子進行字符串搜索的例子same page用連字符前綴一個詞將排除與該詞匹配的帖子。例如,'pillow -sofa'將返回包含'枕頭'但不包含'沙發'的帖子(從版本4.4開始可用)。

+0

從我的理解:他有一個函數(查詢擴展)給出一個單詞,它返回其他單詞(即足球迴歸「足球」,「團隊運動」)。然後,他希望搜索所有這些關鍵字(但不是所有這些關鍵詞都在同一篇文章中,每個詞/文字一次搜索)。因此,搜索「足球」,「足球」和「團隊運動」,然後結合結果。 – Ivan

+0

理想情況下,最好發送逗號分隔的關鍵字數組,並獲取具有這些關鍵字的所有文章。人們可以創建一個函數來準備這樣的查詢或組合多個查詢的結果集。 –

+0

@伊萬這正是我想說的。謝謝! – dtd93