You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在WooCommerce后台导航的<nav>与<ul>之间添加内容?

解决方案:在WooCommerce账户导航的

嘿,我之前也碰到过一模一样的需求!默认的woocommerce_before_account_navigationwoocommerce_after_account_navigation钩子确实只能在整个<nav>元素的前后加内容,没法精准插到<nav>和内部的<ul>之间。这里有两个超简单的实现方法:

方法1:利用现有钩子精准插入(无需修改模板)

WooCommerce的账户导航内部会调用woocommerce_account_navigation钩子,默认的菜单项<ul>是通过这个钩子以优先级10输出的。我们可以给这个钩子加一个优先级更低(比如5)的自定义函数,让它在<ul>之前执行,这样内容就会刚好出现在<nav><ul>之间。

把这段代码加到你的主题functions.php文件里,或者自定义插件中就行:

add_action( 'woocommerce_account_navigation', 'insert_custom_content_between_nav_and_ul', 5 );
function insert_custom_content_between_nav_and_ul() {
    // 替换成你需要插入的HTML内容
    echo '<div class="wc-custom-nav-header">欢迎回来!快速查看你的订单状态</div>';
}

这个方法的好处是不用碰模板文件,主题更新时也不会丢失修改。

方法2:直接覆盖WooCommerce模板(适合更复杂的自定义)

如果你需要对导航结构做更多调整,直接覆盖模板文件会更灵活:

  1. 找到WooCommerce默认模板文件:wp-content/plugins/woocommerce/templates/myaccount/navigation.php
  2. 复制这个文件到你的主题目录下的woocommerce/myaccount/文件夹(没有这个路径就手动创建)
  3. 打开复制后的模板文件,在do_action( 'woocommerce_account_navigation' );这一行之前添加你的自定义内容:
<nav class="woocommerce-MyAccount-navigation">
    <!-- 这里添加你的自定义内容 -->
    <div class="custom-nav-banner">专属会员福利等你来领</div>
    <?php do_action( 'woocommerce_account_navigation' ); ?>
</nav>

修改完成后,WooCommerce会优先使用你主题里的模板文件,你的自定义内容就会精准出现在<nav><ul>之间了。

两种方法都很容易上手,你可以根据自己的需求选~

内容的提问来源于stack exchange,提问作者FloJDM

火山引擎 最新活动