如何获得woocommerce免费送货的最低订单金额

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得woocommerce免费送货的最低订单金额相关的知识,希望对你有一定的参考价值。

我怎样才能获得免费送货所需的最低订单金额(woocommerce_free_shipping_min_amount在管理面板中设置woocommerce - >设置 - >送货 - >免费送货 - >最低订单金额)在woocommerce?

我想在前端页面显示此价格

答案

该值存储在密钥option下的woocommerce_free_shipping_settings中。它是由WC_Settings_API->init_settings()加载的数组。

如果您想直接访问它,可以使用get_option()

$free_shipping_settings = get_option( 'woocommerce_free_shipping_settings' );
$min_amount = $free_shipping_settings['min_amount'];
另一答案

接受的答案不再适用于WooCommerce版本2.6。它仍然提供输出,但输出错误,因为它没有使用新引入的Shipping Zones。

为了获得特定区域免费送货的最低消费金额,请尝试我放在一起的这个功能:

/**
 * Accepts a zone name and returns its threshold for free shipping.
 *
 * @param $zone_name The name of the zone to get the threshold of. Case-sensitive.
 * @return int The threshold corresponding to the zone, if there is any. If there is no such zone, or no free shipping method, null will be returned.
 */
function get_free_shipping_minimum($zone_name = 'England') {
  if ( ! isset( $zone_name ) ) return null;

  $result = null;
  $zone = null;

  $zones = WC_Shipping_Zones::get_zones();
  foreach ( $zones as $z ) {
    if ( $z['zone_name'] == $zone_name ) {
      $zone = $z;
    }
  }

  if ( $zone ) {
    $shipping_methods_nl = $zone['shipping_methods'];
    $free_shipping_method = null;
    foreach ( $shipping_methods_nl as $method ) {
      if ( $method->id == 'free_shipping' ) {
        $free_shipping_method = $method;
        break;
      }
    }

    if ( $free_shipping_method ) {
      $result = $free_shipping_method->min_amount;
    }
  }

  return $result;
}

将以上函数放在functions.php中并在模板中使用它,如下所示:

$free_shipping_min = '45';

$free_shipping_en = get_free_shipping_minimum( 'England' );
if ( $free_shipping_en ) {
    $free_shipping_min = $free_shipping_en;
}

echo $free_shipping_min;

希望这有助于某人。

以上是关于如何获得woocommerce免费送货的最低订单金额的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce 为特定用户角色设置最低订单

WooCommerce - 我们如何在订单电子邮件中将送货地址更改为 N/A?

当 WooCommerce 3 中提供免费送货时,隐藏细节统一费率

WooCommerce 获得订单总额

如何从 WooCommerce 中的订单密钥中获取订单 ID?

Woocommerce 订单在创建后获得付款