将woocommerce_page_title存储在变量中并在Woocommerce中显示

时间:2018-08-29 17:30:42

标签: php wordpress templates woocommerce page-title

我想在类别图像上显示页面标题。我复制了这段代码

<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>

从“ template-archive-product.php”到“ woocommerce-hook.php”,如下所示:

$html .= '<h1 class="page-title">'<?php woocommerce_page_title(); ?>'</h1>';

现在标题没有出现。当我检查开发工具时,标题就像一个html注释。

<h1 class="page-title"><!--?php woocommerce_page_title(); ?--></h1>

如果有人可以帮助我,那就太好了。

2 个答案:

答案 0 :(得分:2)

默认情况下会回显模板function woocommerce_page_title(),如您在its source code中所看到的…但是,有一个可选参数用于返回数据,而不是回显它。为此,您需要将此参数从(默认)true更改为false

您需要像尝试那样将其设置为变量时,这很有用。所以功能代码应该有所不同:

$html .= '<h1 class="page-title">' . woocommerce_page_title( false ); . '</h1>';

经过测试可以正常工作。

或者,您也可以使用php缓冲功能,通过以下方式获得相同的结果:

ob_start();
?>
<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
<?php
$html .= ob_get_clean();

什么也不会输出,并且数据将附加到$html变量中。

答案 1 :(得分:0)

尝试以下代码:

$html .= '<h1 class="page-title">' . woocommerce_page_title() .'</h1>';

代替:

$html .= '<h1 class="page-title">'<?php woocommerce_page_title(); ?>'</h1>';