gpt4 book ai didi

php - 从 Woocommerce 的所有计费/运输字段中删除电话?

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:31 26 4
gpt4 key购买 nike

我不需要在 woocommerce 中收集客户电话号码,所以我使用以下代码将它们从结帐过程中删除:

add_filter( 'woocommerce_checkout_fields', 'pbj_woocommerce_checkout_fields' );
function pbj_woocommerce_checkout_fields( $fields ) {
unset($fields['billing']['billing_phone']);
unset($fields['shipping']['shipping_phone']);
$fields['billing']['billing_email']['class'] = array('form-row-wide');
return $fields;}

(抱歉第一次粘贴可怕的代码!)

这在结帐页面上效果很好,但一旦进入“我的帐户”区域,如果用户编辑他们的账单或送货地址,他们仍然需要添加电话号码。我添加了这段代码:

function pbj_remove_billingphone($fields) {
unset( $fields ['billing_phone'] );
return $fields;}
add_filter( 'woocommerce_billing_fields', 'pbj_remove_billingphone' );

已将其从计费中删除,但我无法执行任何操作以将其从发货中删除。任何关于普遍删除电话号码要求的东西的任何帮助,或者关于过滤/取消设置以删除帐户页面上的运输电话号码的提示?谢谢!

最佳答案

这是在帐户和结帐页面(两个页面)中执行此操作的完整方法:

// Remove billing phone (and set email field class to wide)
add_filter( 'woocommerce_billing_fields', 'remove_billing_phone_field', 20, 1 );
function remove_billing_phone_field($fields) {
$fields ['billing_phone']['required'] = false; // To be sure "NOT required"

$fields['billing_email']['class'] = array('form-row-wide'); // Make the field wide

unset( $fields ['billing_phone'] ); // Remove billing phone field
return $fields;
}

// Remove shipping phone (optional)
add_filter( 'woocommerce_shipping_fields', 'remove_shipping_phone_field', 20, 1 );
function remove_shipping_phone_field($fields) {
$fields ['shipping_phone']['required'] = false; // To be sure "NOT required"

unset( $fields ['shipping_phone'] ); // Remove shipping phone field
return $fields;
}

代码进入事件子主题(或事件主题)的 function.php 文件。测试和工作

Normally shipping email and phone fields doesn't exist by default in WooCommmerce

关于php - 从 Woocommerce 的所有计费/运输字段中删除电话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49742442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com