You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WooCommerce指定页面隐藏my-account菜单仅dashboard页展示

WooCommerce仅在账户仪表盘页面渲染专属菜单方案

你不需要通过CSS隐藏实现,直接通过WooCommerce原生的条件判断+模板/钩子调整就能实现,以下两种可选方案:

  • 方案一:修改公共导航模板(全局生效,改一次即可)
    1. 将WooCommerce默认的myaccount/navigation.php模板复制到你当前主题的woocommerce/myaccount目录下
    2. 在该模板的全部代码外层加如下判断逻辑:
    <?php
    // 仅在我的账户仪表盘页面渲染导航菜单
    if ( wc_get_query_var( 'current_page' ) === 'dashboard' ) :
    ?>
    <!-- 原有导航模板的全部代码保留在此处 -->
    <?php endif; ?>
    
    调整完成后,除仪表盘外的所有我的账户子页面(订单、下载、地址等)都不会生成导航菜单的HTML代码,完全满足需求。
  • 方案二:通过钩子禁用非仪表盘页的导航
    如果你不想修改模板文件,可以直接在当前主题的functions.php中添加如下代码:
    add_action( 'template_redirect', 'hide_myaccount_nav_non_dashboard' );
    function hide_myaccount_nav_non_dashboard() {
        // 判断为我的账户页且不是仪表盘页时,移除导航输出钩子
        if ( is_account_page() && wc_get_query_var( 'current_page' ) !== 'dashboard' ) {
            remove_action( 'woocommerce_account_navigation', 'woocommerce_account_navigation' );
        }
    }
    
    这个方案不需要修改模板文件,直接通过钩子拦截导航的输出,非仪表盘页面不会加载任何菜单相关代码。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:54:05