我在WordPress中使用它:
<?php if ( !is_front_page()) {
$title = the_title();
echo <<<EOT
<div class="featured-header col-xs-12 col-sm-12 col-md-12 col-lg-12 cf">
<span class="featured-title">$title</span>
</div>
EOT;
} ?>
然而,页面标题是由PHP BEFORE生成的。看起来$ title变量本身的声明正在执行the_title()
函数。
为什么会这样?
编辑:
感谢您的解释!这是现在的工作代码:
<?php if ( !is_front_page()) {
$title = get_the_title();
$thumbnail = get_the_post_thumbnail_url();
echo <<<EOT
<div class="featured-header col-xs-12 col-sm-12 col-md-12 col-lg-12 cf" style="background-image: url('$thumbnail');">
<span class="featured-title animated fadeIn">$title</span>
</div>
EOT;
} ?>
答案 0 :(得分:0)
the_title()
功能已执行,因为您将其称为。返回值存储在$title
变量中,之后不会更改。
我不知道这个功能是做什么的。 也许它回应了某些东西并且没有返回 - 然后回显的值将被打印出来,而不是存储在变量中,你就无法做任何事情。
如果它返回,而不是回显,那么你可以这样做:
$heredoc = <<<EOT
<div class="featured-header col-xs-12 col-sm-12 col-md-12 col-lg-12 cf">
<span class="featured-title">%t</span>
</div>
EOT;
$heredoc = sprintf($heredoc, the_title());
echo $heredoc;
答案 1 :(得分:0)
写$title = the_title()
实际调用该函数,然后分配返回的值,这是正常的,并且是所有编程语言的标准。如果要分配函数本身,则需要指定函数的名称,如下所示:
$title = 'the_title'
然后,在你想要调用函数的地方你只需写:
$title()
这将正常调用该函数。
根据经验,你可以说,如果某事后面跟着(),它会被立即调用。
答案 2 :(得分:0)
the_title()
是一个模板功能,显示(echo
)标题。如果要将标题存储在var中,请改用get_the_title()
。
请注意,大多数WP模板函数的工作方式如下:get_the_content()
vs the_content()
,get_the_date()
vs the_date()
...