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

如何在WooCommerce账户页面隐藏/移除配送地址字段

WooCommerce账户页面移除配送地址城市/邮编字段方案

下面是两种可行的解决方法,优先推荐用PHP钩子彻底移除字段,比CSS隐藏更安全:

方法一:用PHP钩子彻底移除字段

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

// 移除配送地址的城市和邮政编码字段
add_filter( 'woocommerce_shipping_fields', 'remove_shipping_city_postcode_fields' );
function remove_shipping_city_postcode_fields( $fields ) {
    unset( $fields['shipping_city'] );
    unset( $fields['shipping_postcode'] );
    return $fields;
}

// 适配账户页面编辑配送地址的场景
add_filter( 'woocommerce_default_address_fields', 'remove_account_shipping_city_postcode' );
function remove_account_shipping_city_postcode( $fields ) {
    // 判断当前是编辑配送地址的操作
    if ( isset( $_POST['action'], $_POST['address'] ) && $_POST['action'] === 'edit_address' && $_POST['address'] === 'shipping' ) {
        unset( $fields['city'] );
        unset( $fields['postcode'] );
    }
    return $fields;
}

之前钩子没生效,大概率是只处理了单个钩子,没兼顾到woocommerce_shipping_fields(专门控制配送字段)和woocommerce_default_address_fields(账户地址编辑的默认字段逻辑)的双重场景,上面的代码同时覆盖了这两种情况。

方法二:用CSS隐藏字段(仅前端隐藏,不推荐)

如果只是临时隐藏,不想改PHP,可以把这段CSS加到主题自定义CSS里:

/* 隐藏账户页面配送地址的城市、邮编字段 */
.woocommerce .edit-account #shipping_city_field,
.woocommerce .edit-account #shipping_postcode_field {
    display: none !important;
}

注意:这种方式只是前端隐藏,字段实际还是存在,用户可以通过开发者工具修改后提交,所以优先用PHP钩子的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:42:13