我遇到页面标题文本出现在 h3 标签之外的问题。
我正在使用的 PHP 是:
$pagetitle = woocommerce_page_title();
echo '<h3>' . $pagetitle . '</h3>';
Run Code Online (Sandbox Code Playgroud)
这是这样的渲染:
Shop
<h3></h3>
Run Code Online (Sandbox Code Playgroud)
我希望它是这样的:
<h3>Shop</h3>
Run Code Online (Sandbox Code Playgroud)
如果我只是使用:
$pagetitle = Shop;
echo '<h3>' . $pagetitle . '</h3>';
Run Code Online (Sandbox Code Playgroud)
它工作正常。有谁知道是什么导致了这个问题?
根据https://docs.woocommerce.com/wc-apidocs/function-woocommerce_page_title.html,该函数将自行回显标题,除非您将“echo”参数指定为false。
这就是为什么您会在 h3 标签之外看到标题 - 在您输出标签之前它会得到回显,并且在该模式下它不会返回值。
所以你可以这样做
echo '<h3>';
woocommerce_page_title();
echo '</h3>';
Run Code Online (Sandbox Code Playgroud)
这将意味着 woocommerce 与标题相呼应,但在正确的位置......
或者
$pagetitle = woocommerce_page_title(false);
echo '<h3>' . $pagetitle . '</h3>';
Run Code Online (Sandbox Code Playgroud)
它告诉 woocommerce 只是返回标题而不回显它。