为什么这个php字符串显示的顺序错误?

时间:2012-02-07 04:20:24

标签: php wordpress

这种情况一直发生,我认为这是一个简单的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;

显示相同。我试过了&lt; span&gt;而是标记 - 始终是相同的输出。

我做错了什么?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

是你的the_search_query()函数返回一个值,还是直接回显它得到的所有值?

例如:

 function the_search_query()
 {
 return $result;
 }

 function the_search_query()
 {
 echo $result;
 } 

这似乎是一样的。 但直接回显功能结果有时会在正确显示输出时搞砸。