2011-07-25 280 views
4

我已經定製了一個主題,並且在使用多詞查詢的搜索結果中遇到了一些問題。網站是住在www.abetterworldbydesign.com搜索結果不顯示在WordPress中的多個詞搜索

Searching for a single word按預期工作。

Searching for multiple words應該返回結果顯示空白結果。

下面的searchform.php代碼。

<form id="searchform" name="searchform" method="get" action="<?php echo home_url(); ?>"> 
    <div> 
     <input type="text" id="s" name="s" /> 
     <input type="submit" id="searchsubmit" value="<?php esc_attr_e('Search', 'richwp'); ?>" /> 
    </div> 
</form> 

我在search.php中代碼初始化WP_Query如下正好the code listed in the codex。完整代碼爲search.php on pastebin。您搜索的PHP

+0

也問在Wordpress的答案:http://wordpress.stackexchange.com/questions/24102/search-results-not-displaying-for-multiple-word-search –

+0

爲什麼不給搜索權力的人 - 谷歌。示例查詢「Zero Energy Usage site:www.abetterworldbydesign.com」:http://www.google.com/search?sclient=psy&hl=zh-CN&source=hp&q=Zero+Energy+Usage+site:www.abetterworldbydesign.com&pbx=1&oq =零+能量+用法+網站:www.abetterworldbydesign.com&aq = f&aqi =&bav = on.2,or.r_gc.r_pw。&biw = 1400&bih = 912 – Igor

+0

@Igor - 用Google自定義搜索替換WordPress搜索將是解決方法我寧願避免。主要缺點是要求在網站上使用Google品牌。 http://www.google.com/cse/docs/tos.html –

回答

3

我猜你需要解碼你是從查詢字符串中提取的搜索詞,例如:$search_query[$query_split[0]] = urldecode($query_split[1]) 。雖然,你可能只是使用Wordpress的get_query_var函數而不是所有的代碼。

+0

就是這樣。做得很好。奇怪的是,WordPress文檔沒有說明這一點 - 想知道是否需要在WP的最新版本中進行更改,而不是在文檔中進行更新。我現在會獎賞你的賞金,但Stack Overflow說我必須等3個小時。 –

+1

WordPress的Codex文檔是一個wiki,所以任何人都可以添加到它,最好是對內容持懷疑態度。您使用的代碼是一年前由另一個用戶發佈的(如果您登錄,您可以查看頁面歷史記錄),但我不確定它應該解決什麼問題。 –

+1

好的。我用這個修補程序更新了WordPress Codex。 http://codex.wordpress.org/Creating_a_Search_Page#Preserving_Search_Page_Results_and_Pagination –

0

線16

$query_args = explode("&", $query_string); 

嘗試改變這種

$query_args = explode(" ", $query_string) 
+0

試過了。不用找了。我也嘗試將search.php的第16行改爲'$ query_args = explode(「+」,$ query_string);'但這並沒有改變任何一個 –

+0

奇怪。我很確定這會工作。我會看看我能否看到其他任何東西。 – abney317

+1

可能不會做太多,但請檢查該search.php的第42行 - 您的評論是註釋掉php標記的結尾 – abney317