如何在 Dokan 中隐藏运输方式和优惠券字段
已发表: 2022-03-20想要在免费送货 WooCommerce 功能可用时隐藏统一费率? 你来对地方了。
幸运的是,WooCommerce 和 Dokan 都有惊人的运输功能。 如果您熟悉这两者,那么您已经知道供应商可以配置自己的运输方式。 管理员只需选择送货区域。
供应商将能够使用 Dokan 提供统一运费、表费率运费、基于距离的运费和免费送货服务。
但是,我们收到了一些用户的请求,他们希望根据购买金额向客户提供免费送货服务,并隐藏统一费率送货方式。 今天,我们将逐步向您展示该过程。
作为额外的奖励,您还将学习如何从任何地方(购物车/结帐)隐藏优惠券字段。 同时,如果您还没有检查过,请阅读我们的指南 - 在您的多供应商市场上轻松设置 WooCommerce 运输。
让我们看看如何做到这一点,好吗?
如何为 WooCommerce 配置不同的运输方式

运输是电子商务市场业务的一个关键方面。 因为这是客户最终亲自体验您的产品的地方。 无论您在营销、设计、电子邮件等方面付出了多少努力,如果您的运输策略不正确,一切都将白费。
让我们给你画一幅画,这样你就可以清楚地理解这个问题。 假设您正在经营一个市场,并且您有许多客户定期花费超过 100 美元。 现在您想为他们提供免费送货服务。
通常情况下,您可以只选择免费送货并删除固定费率送货方式。 但这里有问题。 你想要的是——
- 如果客户购买的商品低于 120 美元,那么他们将看到统一费率的送货方式。
- 但是,如果客户购买的商品超过 120 美元,则他们只会使用免费送货方式,统一费率送货方式将被隐藏。
当您使用默认的 WooCommerce 功能为最低订单设置免费送货时,它会在结账时同时显示统一运费和免费送货选项。
例如,转到WooCommerce–> 设置–> 运输。 选择送货区域并选择免费送货方式。 现在,选择最低订单金额免费送货。 我们将其设置为 120 美元。 这意味着当订单金额超过 120 美元时,它将显示免费送货方式。

因此,在购物车页面上,当订单金额超过(或等于)120 美元时,它将提供免费送货方式。

但是,您可以正确地看到问题。 它同时显示“统一费率”和“免费送货”两种方式。 当免费送货可用时,我们希望完全隐藏统一费率送货选项。
怎么做?
如何在提供免费送货服务时隐藏统一运费
您需要按照以下步骤在免费送货时隐藏统一费率送货方式。
- 第 1 步:创建子主题
- 第 2 步:将代码复制到子主题的 function.php 文件中
- 第 3 步:刷新并享受。
第 1 步:创建一个子主题(如果您还没有)
首先,您需要创建一个子主题。 因为您将需要一个子主题来对文件进行调整,因为此增强功能与主题相关。

创建子主题非常容易。 您可以按照本文创建子主题。 您还将在 WordPress 存储库中找到用于创建子主题的插件。
第 2 步:复制子主题的 Function.php 文件中的代码
接下来,转到查找器或文件夹并导航到WP-Content–> Themes–> Your Child Theme Name–>Open Functions.php。 复制下面的代码,
/** * Hide shipping rates when free shipping is available. * * @param array $rates Array of rates found for the package. * @return array */ function dokan_vendor_shipping_hide_when_free_is_available( $rates ) { $free = array(); foreach ( $rates as $rate_id => $rate ) { if ( 'free_shipping' === $rate->method_id || 'free_shipping' === $rate->id || strpos( $rate->id, 'free_shipping' ) !== false ) { $free[ $rate_id ] = $rate; break; } } return ! empty( $free ) ? $free : $rates; } add_filter( 'woocommerce_package_rates', 'dokan_vendor_shipping_hide_when_free_is_available', 100 );
将代码保存在您的编辑器中。

第 3 步:刷新您的网站并享受
现在,刷新您的网站。 当您再次访问购物车页面时,您会看到当订单金额超过 120 美元时,统一费率送货方式被隐藏。

因此,当免费送货 WooCommerce 方法可用时,这就是您可以轻松隐藏统一运费的方法。
或者您也可以查看此视频。
现在,如果您还希望从您的市场中隐藏优惠券字段,请按照本文的下一部分进行操作。

如何从 WooCommerce 结帐和购物车页面隐藏优惠券字段
通常,优惠券用于特殊场合。 否则,全年显示优惠券字段没有意义。 WooCommerce 有一个默认的优惠券字段,显示在购物车页面和结帐页面上。
许多市场所有者不想显示这些字段,并且只想在有可用优惠券时激活。 一个简单的定制就可以解决这个问题。 那么,让我们看看如何从购物车和结帐页面隐藏优惠券字段。
您需要在子主题中进行自定义。 这样你就安全了,并且在插件更新期间你不会丢失任何自定义设置。
我们将使用过滤器 - “woocommerce_coupons_enabled”。 它将创建一个新函数,我们也将编写条件。
打开子主题的 functions.php 文件并粘贴以下代码,
<?php // hide coupon field on cart page function hide_coupon_field_on_cart( $enabled ) { if ( is_cart() ) { $enabled = false; } return $enabled; } add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field_on_cart' ); // hide coupon field on checkout page function hide_coupon_field_on_checkout( $enabled ) { if ( is_checkout() ) { $enabled = false; } return $enabled; } add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field_on_checkout' );
保存代码并重新加载您的网站。 您会看到优惠券字段消失了。 当您需要优惠券字段时,只需删除代码,它就会再次出现。
是不是很简单?
阅读更多:如何为供应商创建优惠券
进行必要的定制以提升客户体验
经营一个市场从来都不是一件容易的事。 您必须考虑很多因素,并且您不会在解决方案中找到所有功能。 因此,这些简单的小调整将有助于您的事业。
与其显示两种运输方式,不如根据购买金额隐藏一种运输方式将改善客户体验。 他们不会感到困惑,您将获得忠实的客户群。 此外,在没有可用的优惠券代码时隐藏优惠券字段不会向客户发送任何错误的想法。
如果您逐字逐句地按照我们的教程进行操作,那么希望您能够 -
- 如何在免费送货时隐藏统一运费
- 如何从结帐和购物车页面隐藏优惠券字段。
如果您有任何困惑,请发表评论。