支持通过特定项目在Woo Commerce上免费送货

时间:2013-03-14 作者:James O\'Neill

我想知道,只有在购物车中包含某些物品(或某些类别/装运类别的物品)的情况下,是否有可能启用Woo Commerce的免费装运。

免费送货选项仅根据购物车价值或通过优惠券代码激活,因此我调查了固定费率的送货,发现它优先考虑最昂贵的送货类别,而不是较便宜的类别。这意味着我创建的免费送货类永远不会覆盖默认费用。

我理解这背后的逻辑,但这与我所需要的恰恰相反,因为我的想法是通过取消订单中包含的交货费用来鼓励购买利润率更高的产品。

我不知道我想要实现的目标是否在Woo Commerce中根本不可能实现。仅适用于某些产品/类别的优惠券似乎是我能获得的最接近的优惠券,但我不想强迫用户在结账时输入代码。

有谁知道有没有更简单的方法可以让购买某些产品的用户免费送货?

6 个回复
最合适的回答,由SO网友:Ewout 整理而成

也许这并不能完全回答您的问题,但table rate shipping插件确实为您提供了为特定费率设置优先级的选项。此外this discussion 提供了很多关于在哪里可以找到解决方案的提示

SO网友:Nathan

有谁知道有没有更简单的方法可以让购买某些产品的用户免费送货?

实际上,在创建产品时,您可以在产品编辑器中将其标记为虚拟产品,这将完全排除该项目的发货。

SO网友:kaiser

以下是一些GIST从GitHub问题讨论中收集的片段,另一个答案中由@Ewout链接。我添加了一个var_dump(), 因此,您可以取消注释并检查要删除的内容。

$available_methods 是一个array 其中:

$available_methods as $method_id => $method
对比$method_id 如果您需要更具体的检查。

// Hide standard shipping option when free shipping is available
add_filter( \'woocommerce_available_shipping_methods\', \'wpse90835_hide_standard_shipping_when_free_is_available\' );
/**
 *  Hide Standard Shipping option when free shipping is available
 * 
 * @param array $available_methods
 */
function wpse90835_hide_standard_shipping_when_free_is_available( $available_methods )
{
    // Developers!: Dump this to see what you can unset
    # var_dump( $available_methods );

    // remove standard shipping option
    if ( 
        isset( $available_methods[\'free_shipping\'] ) 
        AND isset( $available_methods[\'flat_rate\'] )
    )
        unset( $available_methods[\'flat_rate\'] );


    return $available_methods;
}

SO网友:Sormano

我创建了一个WooCommerce插件,允许用户配置免费发货的高级设置。在插件中,可以选择某些产品进行免费配送。

你可以在wordpress上找到免费的插件。已调用组织WooCommerce Advanced Free Shipping

希望这有帮助。

SO网友:ban-geoengineering

基于kaiser的代码(如上),我创建了以下代码:

    /**
 *  Hide free shipping option when Standard Shipping is available
 * 
 * @param array $available_methods
 */
function mwe_hide_free_shipping_when_standard_shipping_is_available($available_methods) {

    // remove standard shipping option
    if (isset($available_methods[\'free_shipping\']) AND isset( $available_methods[\'flat_rate\'])) {
        unset($available_methods[\'free_shipping\']);
    }

    return $available_methods;
}
add_filter(\'woocommerce_available_shipping_methods\', \'mwe_hide_free_shipping_when_standard_shipping_is_available\');
在建立WooCommerce的过程中,我在Woo配送选项中启用了免费配送和统一费率。然后我只需设置一个运输类别,在统一费率选项页面中指定其成本(例如7.95英镑),然后只需将该运输类别添加到我想要收取7.95英镑p&;费用的产品中;p代表。

SO网友:user51366

“虚拟”选项将删除所有运输成本,但也会删除将货物运送到不同于客户账单地址的地址的选项。如果客户也购买其他非虚拟产品,这不是问题,而是如果这是他们购买的唯一产品。

结束

相关推荐

Travel Blog Plugins

今年晚些时候,我将使用Wordpress创建一个关于我旅行的博客。我希望该博客具有以下功能我的帖子将被地理定位一张包含帖子位置的地图,可以单击地图上的各个点到达帖子</我正在寻找最好/最合适的插件。谢谢,艾尔。