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

如何仅在Woocommerce登录页面隐藏账户入口标题?

解决WooCommerce登录页面隐藏entry-title但保留账户端点标题的问题

方法一:精准CSS定位(快速解决)

之前用page-id的CSS无效,是因为登录/未登录状态的「我的账户」页面共享同一个page ID,会误隐藏登录后的端点标题。改用WooCommerce自动添加的body类区分状态:

/* 仅隐藏未登录时的登录页面(my-account/)标题 */
.logged-out.woocommerce-my-account h1.entry-title {
    display: none;
}

/* 如果需要同时隐藏注册页面(registration/)的标题,替换xxx为注册页的page-id */
.page-id-xxx.woocommerce-page h1.entry-title {
    display: none;
}

注:注册页的page-id-xxx可通过浏览器审查元素获取——右键页面→检查,找到<body>标签中的page-id-xx类即可。

方法二:PHP代码实现精准控制(适合开发者)

若担心CSS样式冲突,可在主题的functions.php文件中添加以下代码,通过逻辑判断仅移除登录页面的标题:

add_action( 'wp', 'custom_hide_login_entry_title' );
function custom_hide_login_entry_title() {
    // 判断当前是账户页面且用户未登录(即登录表单页面)
    if ( is_account_page() && ! is_user_logged_in() ) {
        // 移除WooCommerce账户页面的标题钩子
        remove_action( 'woocommerce_account_page_header', 'woocommerce_account_page_header' );
        
        // 若主题标题通过the_title输出,添加过滤规则清空标题
        add_filter( 'the_title', 'custom_remove_login_page_title', 10, 2 );
    }
}

function custom_remove_login_page_title( $title, $post_id ) {
    if ( is_account_page() && ! is_user_logged_in() && get_post_type( $post_id ) === 'page' ) {
        return '';
    }
    return $title;
}

这段代码会在用户未登录访问my-account/时移除标题,登录后进入仪表盘、订单等端点时,标题将正常显示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:15:46