如何禁用运送到另一个地址选项

已发表: 2022-01-01

WooCommerce 禁用运送到另一个地址选项 WooCommerce 是一个很棒的免费电子商务解决方案,它具有一组非常有用的功能。 突出的是 WooCommerce 在开发时考虑了可扩展性,类似于 WordPress 的模块化。

这篇文章包含两个不同的部分。 在第一部分中,我将与您分享如何完全删除所有运输字段,迫使客户将其订单运送到帐单地址。 在第二部分中,我将向您展示如何删除“运送到另一个地址选项”并强制客户同时输入账单地址和送货地址。

禁用运送到另一个地址选项

如果您的 WooCommerce 商店只允许运送到客户的帐单地址,则不需要输入运送字段的其他选项。 但是,默认情况下,WooCommerce 有一个选项可以轻松删除运输字段,而无需代码片段。

但是,这里是先决条件:

  • WordPress(假设您已经安装了它)。
  • WooCommerce 插件(已安装并激活)。

说了这么多,让我们深入了解这篇文章的本质。 这些步骤非常简单,您不会很难实施这些解决方案。

a) 完全删除运输字段的步骤

以下是您需要遵循的步骤:

  1. 登录您的 WordPress 站点并以管理员用户身份访问仪表板
  2. 从仪表板菜单中,单击WooCommerce > 设置。 这将打开“设置”页面。 单击“运输”选项卡,然后单击“运输选项”,您将在此处看到“计算”和“运输目的地”等选项。
  3. 运送目的地设置中,使用“强制运送到客户帐单地址”选项完全删除运送字段,并将帐单字段用于帐单和运送。 此选项允许您控制应使用哪些结帐字段。

确保保存所做的更改。

  1. 要查看结果,请转到结帐页面,您将看到帐单详细信息将用于运输。 这将是结果:

b) 删除“运送到另一个地址”选项并强制使用运送地址的步骤

默认情况下,WooCommerce 有一个设置。 它不强制用户单独添加送货地址。 要隐藏“运送到另一个地址”选项,您可以强制客户购买产品以输入他们的帐单地址和送货地址。

在本节中,我将分享一些简单的步骤来做到这一点。 我们将使用 PHP 代码

  • 隐藏“运送到不同地址”复选框并添加自定义标题。
  • 在结帐验证时强制收货地址。

以下是您需要遵循的步骤:

  1. 登录您的 WordPress 站点并以管理员用户身份访问仪表板
  2. 从仪表板菜单中,单击外观菜单 > 主题编辑器菜单。 当主题编辑器页面打开时,查找主题函数文件,我们将在其中添加将在结帐页面显示产品图像的函数。 隐藏“运送到不同地址”复选框并添加自定义标题。
  3. 将以下代码添加php文件中:
 /**
* 隐藏“运送到不同地址”复选框。
*/

/**
*隐藏“运送到不同地址”复选框/添加自定义标题。
* 如果需要,您可以在此处替换文本。
*/

功能 njengah_js_force_shipping_address() {

?><script type="text/javascript">

var diffAddress = document.querySelector('#ship-to-different-address');

diffAddress.outerHTML = '<h3>发货详情</h3><input type="checkbox" checked="checked" value="1" name="ship_to_different_address" class="hidden" style="display: none;" />';

</script><?php

}

add_action('wp_footer', 'njengah_js_force_shipping_address');

/**
* 在结帐验证时强制收货地址
*/

功能 njengah_force_posted_data_ship_to_different_address( $posted_data ) {

$posted_data['ship_to_different_address'] = true;

返回 $posted_data;
}

add_filter('woocommerce_checkout_posted_data','njengah_force_posted_data_ship_to_different_address');

// 请注意,这会覆盖 Woo 设置中的“运送目的地”选项

add_filter('woocommerce_ship_to_different_address_checked', '__return_true');

// 如果你有可能只有虚拟订单,你可能想把它注释掉

add_filter('woocommerce_cart_needs_shipping_address', '__return_true');

// 订单总是有运费(例如,即使是本地取货)

add_filter('woocommerce_order_needs_shipping_address', '__return_true');

  1. 要查看结果,请转到结帐页面,您将看到添加了包含送货地址详细信息的新部分。 这将是结果:

代码如何运作

首先,此代码隐藏了“运送到不同地址”复选框,您可以添加自己的自定义标题。 然后它在结帐验证时强制输入送货地址。 此外,我添加了一个过滤器来覆盖 Woo 设置中的“运送目的地”选项。 此外,我添加了一个过滤器以确保订单始终发货,即使它是本地取货。

结论

在这个简短的教程中,我分享了如何完全删除运输字段。 我已经与您分享了实现此目标所需遵循的简单步骤。 此外,我还分享了一个自定义 PHP 代码片段,您需要将其添加到 functions.php 文件中以删除运送到另一个地址选项并强制使用运送地址。 我希望这篇文章为您提供了一个完美的解决方案。

类似文章