这种情况一直发生,我认为这是一个简单的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;而是标记 - 始终是相同的输出。
我做错了什么?
答案 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;
}
这似乎是一样的。 但直接回显功能结果有时会在正确显示输出时搞砸。