我想在类别图像上显示页面标题。我复制了这段代码
<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>
如果有人可以帮助我,那就太好了。
答案 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>';