php - 在 WooCommerce 中将字段设为可选 我的帐户编辑地址
解决方案
要使所有“我的帐户”>“地址”字段可选,请使用以下内容:
// Make all My account addresses fields optional
add_filter( 'woocommerce_default_address_fields' , 'filter_my_account_addresses_fields', 999 );
add_filter( 'woocommerce_billing_fields', 'filter_my_account_addresses_fields', 999 );
function filter_my_account_addresses_fields( $fields ) {
// Only on My account edit addresses
if ( is_wc_endpoint_url( 'edit-address' ) ) {
// Loop through existing fields
foreach( $fields as $field_key => $field_data ) {
// if they are required
if( $fields[$field_key]['required'] ) {
// Make them optional
$fields[$field_key]['required'] = false;
}
}
}
return $fields;
}
// Optionaly remove ("optional)" text from My account addresses fields
add_filter( 'woocommerce_form_field' , 'remove_account_addresses_optional_fields_label', 10, 4 );
function remove_account_addresses_optional_fields_label( $field, $key, $args, $value ) {
// Only on My account edit addresses
if ( is_wc_endpoint_url( 'edit-address' ) ) {
$optional = ' <span class="optional">(' . esc_html__( 'optional', 'woocommerce' ) . ')</span>';
$field = str_replace( $optional, '', $field );
}
return $field;
}
代码位于活动子主题(或活动主题)的 functions.php 文件中。测试和工作。
推荐阅读
- mongodb - 如何将 MongoDB 与 node-red 连接
- r - 回归投资组合超额收益
- rust - Rust 中的类似 Java 枚举的行为
- wxpython - 如何在按钮单击中附加到 wxPython ListCtlr
- r - 使用标签作为新列的值将列表转换为数据框(使用 R)
- php - 在 mysql 中使用 PHP 字符串,isset 无法解决未定义的可变问题
- powershell - 修改用户属性的权限?
- rust - 如何在异步模式下使用 reqwest 库处理 RUST 中的错误?
- javascript - 如何使用 sinon.useFakeTimers 在 javascript 单元测试中设置超时
- javascript - 在启用提交按钮之前检查字段是否具有有效的类并且不为空?