Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Woocommerce中,是否将手机从帐单/发货字段中删除?_Php_Wordpress_Woocommerce_Checkout_Account - Fatal编程技术网

Php 在Woocommerce中,是否将手机从帐单/发货字段中删除?

Php 在Woocommerce中,是否将手机从帐单/发货字段中删除?,php,wordpress,woocommerce,checkout,account,Php,Wordpress,Woocommerce,Checkout,Account,我不需要在woocommerce中收集客户电话号码,因此我使用以下代码将其从结账过程中删除: add_filter( 'woocommerce_checkout_fields', 'pbj_woocommerce_checkout_fields' ); function pbj_woocommerce_checkout_fields( $fields ) { unset($fields['billing']['billing_phone']); unset($fields['shippi

我不需要在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' );

这已经从账单中删除了它,但我无法得到任何工作来将其从发货中删除。关于在任何地方普遍删除电话号码要求的任何帮助,或者关于如何过滤/取消设置以删除帐户页面上的配送电话号码的提示?谢谢大家!

以下是在帐户和结帐页面中完成此操作的完整方法(对于两个页面):

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

通常情况下,Woocommerce中默认不存在shipping email和phone字段


非常感谢你!这非常有效,通过与您的解决方案进行比较,我学到了很多。我不确定是什么增加了电话领域,但你的解决方案让我的生活轻松多了。再次感谢!这只是删除了电话号码标签,而不是实际的文本输入。5@LoicTheAztec这篇文章的标题是“在Woocommerce中,从账单/发货字段中删除电话?”所以是的,它是关于从结账中删除电话号码。。。。。。它不起作用。它删除了“标签未输入”框。。因此被否决为无效。
// 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;
}