Ari*_*onu 2 php account wordpress readonly woocommerce
目前,“编辑帐户详细信息”页面具有以下字段:名字、姓氏、电子邮件地址、当前密码和新密码。
现在我只需要为客户用户禁用名字、姓氏、电子邮件地址字段。我正在使用 Flatsome WP 主题和 Woocommerce 插件。
我怎样才能做到这一点?
更新
对于编辑“帐户详细信息”字段(电子邮件字段),您需要编辑
myaccount/form-edit-account.php模板文件,因为这些字段是在模板中硬编码的
您必须将readonly属性添加到相关的输入字段,如本提取示例中所示:
Run Code Online (Sandbox Code Playgroud)<p class="woocommerce-form-row woocommerce-form-row--first form-row form-row-first">
    <label for="account_first_name"><?php esc_html_e( 'First name', 'woocommerce' ); ?> <span class="required">*</span></label>
    <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_first_name" id="account_first_name" autocomplete="given-name" value="<?php echo esc_attr( $user->first_name ); ?>" readonly />
</p>
官方文档: 通过主题覆盖模板
对于我的帐户 > 编辑帐单地址,以下代码将使帐单字段名、姓和电子邮件只读:
add_filter( 'woocommerce_billing_fields', 'readonly_billing_account_fields', 25, 1 );
function readonly_billing_account_fields ( $billing_fields ) {
    // Only my account billing address for logged in users
    if( is_account_page() ){
        $readonly = ['readonly' => 'readonly'];
        $billing_fields['billing_first_name']['custom_attributes'] = $readonly;
        $billing_fields['billing_last_name']['custom_attributes'] = $readonly;
        $billing_fields['billing_email']['custom_attributes'] = $readonly;
    }
    return $billing_fields;
}
代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。
注意:要在结帐页面上也启用它,只需删除
if( is_account_page() ){和}之前的右括号return $billing_fields;。
要删除这 3 个字段,您将使用:
add_filter( 'woocommerce_billing_fields', 'remove_billing_account_fields', 25, 1 );
function remove_billing_account_fields ( $billing_fields ) {
    // Only my account billing address for logged in users
    if( is_account_page() ){
        unset($billing_fields['billing_first_name']);
        unset($billing_fields['billing_last_name']);
        unset($billing_fields['billing_email']);
    }
    return $billing_fields;
}
代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。
| 归档时间: | 
 | 
| 查看次数: | 4360 次 | 
| 最近记录: |