如何禁用 WooCommerce 邮政编码验证

已发表: 2020-09-12

是否要删除邮政编码字段? 在本教程中,我们将向您展示如何禁用 WooCommerce 邮政编码验证以改善您的结帐页面并提高您的转化率。

为什么要删除 WooCommerce 邮政编码验证?

默认情况下,WooCommerce 中需要邮政编码字段,因此它们包括验证。 但是,有时这些字段不是必需的,并且会增加结帐页面的摩擦力。 例如,非洲、中美洲和大洋洲的许多国家/地区没有或不使用邮政编码。 此外,如果用户在邮政编码字段中输入文本,WooCommerce 将显示一条错误消息,并且不会让购物者完成结帐。

拥有优化和精简的结帐页面是任何在线商店的关键。 您应该消除任何干扰,为您的客户提供更快、更好的购买体验。 因此,包含不必要的字段和错误消息可能会影响用户的购物体验和转化率。 因此,在本指南中,我们将向您展示如何在结帐页面上禁用 WooCommerce 邮政编码验证禁用 woocommerce 邮政编码验证 - 默认

如何以编程方式禁用 WooCommerce 邮政编码验证

由于我们将修改您主题的functions.php文件,因此在开始之前,我们建议您创建一个子主题。 您可以查看我们的指南来创建一个或使用这些插件中的任何一个。 因此,要删除 WooCommerce 中的邮政编码验证,首先,转到产品页面并通过单击添加到购物车按钮将产品添加到购物车。 现在,让我们看看如何执行以下操作:

  1. 从 WooCommerce 结帐页面中删除 Zip/Postcode
  2. 将 Zip/Postcode 字段设为可选
  3. 从结帐中删除帐单字段
  4. 编辑结帐页面字段的标签

1) 从 WooCommerce 结帐页面中删除 Zip/Postcode

禁用邮政编码验证的一种选择是从 WooCommerce 结帐页面中完全删除邮政编码字段。 最简单的方法是使用一些 WooCommerce 钩子。 因此,要从结帐页面中删除 zip 字段,只需将以下脚本复制并粘贴到您的子主题的functions.php文件的末尾:

 // 禁用邮政编码字段
add_filter('woocommerce_checkout_fields', 'QuadLayers_remove_billing_postcode_checkout');
功能 QuadLayers_remove_billing_postcode_checkout( $fields ) {
unset($fields['billing']['billing_postcode']);
返回$字段;
}

woocommerce_checkout_fields挂钩是 WooCommerce 核心挂钩之一,可用于自定义结帐页面。 使用 PHP 内置函数unset()您可以清空该字段并将其发送回 WooCommerce 并返回; 在下一行。 删除邮政编码 woocommerce 验证字段

2) 将邮政编码字段设为可选

在 WooCommerce 结帐页面中禁用邮政编码验证的另一种替代方法是使字段选项而不是强制性的。 为此,请将以下脚本粘贴到functions.php文件的末尾:

 // 使邮政编码字段可选
add_filter('woocommerce_default_address_fields','QuadLayers_optional_postcode_checkout');
函数 QuadLayers_optional_postcode_checkout( $p_fields ) {
$p_fields['postcode']['required'] = false;
返回 $p_fields;
}

在这里,我们使用了不同的钩子( 'woocommerce_default_address_fields') 。 在这种情况下,您可以使用此挂钩来更改结帐页面上的计费字段。 将邮政编码字段设置为false将使其成为可选并删除验证。

3)从结帐中删除帐单字段

Zip 字段显示在帐单表单中,因此禁用验证的另一种方法是自定义帐单部分并从结帐页面中删除一些字段。 同样,您在第 1 点禁用了邮政编码字段,您可以对任何其他字段执行相同操作。 您可以使用以下索引识别代码中的邮政编码字段: $fields['billing']['billing_postcode'])

同样,您可以隐藏您想要的任何其他字段。 您只需要知道该特定字段的正确索引。 这些是您通常可以删除以简化客户购买体验的字段的一些标识符:

 未设置($fields['billing']['billing_company']);
未设置($fields['billing']['billing_address_2']);
未设置($fields['billing']['billing_city']);
未设置($fields['billing']['billing_state']);
未设置($fields['billing']['billing_phone']);

每个标识字段的索引都有一个不言自明的名称。 此外,“计费”索引告诉您该字段位于计费表单中。 因此,例如,如果要删除companyaddress_2字段,则需要以下代码:

 // 删除 company 和 address_2 计费字段 
add_filter('woocommerce_checkout_fields', 'QuadLayers_remove_billing_fields'); 
函数 QuadLayers_remove_billing_fields( $fields ) { 
未设置($fields['billing']['billing_company']); 
未设置($fields['billing']['billing_address_2']); 
返回$字段; 
}

如您所见,您可以同时使用多个索引。 要删除更多字段,只需使用相应的索引将它们添加到上述函数中。 删除 woocommerce 结帐字段

4) 编辑 WooCommerce 结帐页面字段的标签

现在,假设您已决定将 Zip/Postcode 字段设为可选,但您想更改该字段的标签(Zip/Postcode)以使您的用户更清楚。 使用以下脚本,您可以将“邮编/邮政编码”标签更改为您想要的任何内容。 例如,我们已将其更改为区号

 /* WooCommerce:更改计费字符串 */
add_filter('gettext', 'QuadLayers_billing_field_strings', 20, 3);

函数 QuadLayers_billing_field_strings( $translated_text, $text, $domain ) {
开关($translated_text){
    案例“邮政编码/邮政编码”:
        $translated_text = __('区号','woocommerce');
        休息;
    }
返回 $translated_text;
}

gettext钩子非常有用,通常用于翻译。 即使这不完全是翻译,这个钩子无论如何都会有用的。 上面的代码更改了区号字符串的默认 WooCommerce 标签(邮编/邮政编码)。

看看上面的脚本,看看这些字符串在代码中的位置。 如果你想翻译更多的字符串,只需在 switch 语句中添加你的翻译,如下所示:

 函数 QuadLayers_billing_field_strings( $translated_text, $text, $domain ) {
开关($translated_text){
    案例“账单明细”:
        $translated_text = __( '订单信息', 'woocommerce' );
        休息;
    案例“运送到不同的地址?”:
        $translated_text = __('请发送到其他位置','woocommerce');
        休息;
    案例“公司名称”:
        $translated_text = __('公司','woocommerce');
        休息;
    案例“邮政编码/邮政编码”:
        $translated_text = __('区号','woocommerce');
        休息;
    }
返回 $translated_text;
}

此时,您应该能够删除某些结帐字段并使其成为可选字段,并且您还学习了如何使用gettext挂钩翻译字符串。 在下图中,我们删除了几个字段,更改了区号的 Zip/Postcode 字段的名称,并将其设为可选。 此外,我们还编辑了帐单和运送到不同地址表单的标题。 禁用 WooCommerce 邮政编码验证 - 最终

使用插件删除 WooCommerce 邮政编码验证

如果您没有编码技能,或者您对编辑functions.php文件感到不自在,我们可以为您提供解决方案。 您可以使用插件删除 WooCommerce 邮政编码验证。 有几种工具,但我们将向您展示如何使用两个免费增值插件禁用邮政编码字段:

  1. WooCommerce 的结帐经理
  2. WooCommerce 直接结帐

1) WooCommerce 的结帐经理

Checkout Manager 是一款出色的插件,可自定义结帐流程,也是目前最好的字段编辑器之一。 它允许您在结帐页面上添加、编辑和删除字段。 这样,您可以自定义要在“帐单”、“运输”和“附加字段”部分中显示的字段。

要禁用 WooCommerce 邮政编码验证,首先,您需要安装并激活插件。 您可以从 WordPress 存储库免费下载 Checkout Manager,或者购买起价为 19 美元(一次性付款)的高级计划之一。

激活结帐管理器后,就可以删除不需要的字段了。 因此,在您的 WordPress 管理员中转到WooCommerce > Checkout > Billing 。 在那里,您可以选择禁用邮政编码和您不想在计费部分显示的其他字段。 然后,您可以转到运输部分并重复该过程。 这样,您不仅可以删除 zip 字段,还可以自定义整个结帐页面。 结帐管理器还有许多其他功能可用于改进结帐,例如创建条件字段或让用户在结帐中上传文件。

有关如何使用此插件的更多信息,您可以查看文档页面。

2) WooCommerce 直接结帐

另一个可用于删除邮政编码字段的插件是 Direct Checkout。 这是 WooCommerce 的最佳结帐插件之一,可让您删除不必要的字段以简化结帐页面。 最好的部分是它有一个免费版本。

在我们开始之前,您可以下载免费版本或购买一个起价为 20 美元(一次性付款)的高级计划。

之后,在您的 WordPress 管理员中,转到WooCommerce > Direct Checkout > Checkout 。 在那里,转到删除结帐字段部分并选择邮政编码和所有您不想在结帐时显示的字段。 此外,您还有其他选项来自定义结帐页面。 使用 WooCommerce Direct Checkout 删除邮政编码字段

直接结帐非常易于使用,因此您不会有任何问题。

结论

总而言之,结帐页面上的某些字段不是必需的,并且会在购买过程中增加摩擦,因此最好将其删除。

我们已经了解了如何禁用 WooCommerce 邮政编码验证以改善用户体验并提高转化率。 此外,您还学会了通过将 zip 字段设为可选、从结帐中删除帐单字段以及编辑标签来自定义结帐。

对于那些没有编码技能的人,我们还看到了如何使用两个插件从结帐页面中删除邮政编码和其他字段:结帐管理器和直接结帐。 这些工具有免费版本并且非常易于使用,因此对于那些不想编辑functions.php文件的人来说,它们是一个很好的选择。

最后,如果您想自定义商店的其他部分,我们建议您查看我们的指南以编辑商店页面并提高销售额。

您是否删除了邮政编码验证? 您在学习本教程后有任何问题吗? 在下面的评论部分让我们知道!