Woocommerce 页面标题出现在错误的位置

Fut*_*ebs 0 php woocommerce

我遇到页面标题文本出现在 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)

它工作正常。有谁知道是什么导致了这个问题?

ADy*_*son 5

根据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 只是返回标题而不回显它。