2012-02-07 59 views
0

這一直髮生,我認爲這是一個簡單的PHP錯誤,我正在做,我不能爲我的生活找到這本手冊! 的PHP是這樣的:爲什麼這個php字符串以錯誤的順序顯示?

echo '<h2 class="term-title">Search Results for '.the_search_query().'</h2>'; 

事實證明,這樣的(當我搜索了大蒜):

<br/> 
garlic<br/> 
<h2>Search Results for</h2> 

我試過相同的代碼的幾個變化:

$title='<h2>'; 
$title .=the_search_query(); 
$title .='</h2>'; 
echo $title; 

顯示是一樣的。我試過<範圍內的>標記 - 始終是相同的輸出。

我在做什麼錯?

+0

這實在是模糊的。它應該如何出現以及它是如何出現的。搜索查詢是做什麼的? – 2012-02-07 04:23:18

+0

僅供參考 - ['the_search_query()'](http://codex.wordpress.org/Function_Reference/the_search_query) – Phil 2012-02-07 04:32:34

回答

0

是您的the_search_query()函數返回一個值,還是直接回顯它獲得的所有值?

例如:

function the_search_query() 
{ 
return $result; 
} 

function the_search_query() 
{ 
echo $result; 
} 

這似乎是相同的。 但直接回顯功能結果有時會顯示正確輸出結果。

+0

您不應該使用淫穢表達式。 – Cheery 2012-02-07 04:32:13

+0

編輯。感謝提醒。 – wargodz009 2012-02-07 04:43:20

+0

['the_search_query()'](http://codex.wordpress.org/Function_Reference/the_search_query)是一個內置的Wordpress函數 – Phil 2012-02-08 00:41:57

5

與許多(可怕的)Wordpress功能一樣,我假設the_search_query_that_you_searched_for_lol_kthxbye()執行echo。此echo將作爲echo語句的一部分進行評估,因此首先出現在輸出緩衝區中。

使用get_search_query()代替或者實現你原來這樣的代碼

<h2 class="term-title">Search Results for <?php the_search_query() ?></h2> 
相關問題