当前位置: 首页 > 知识库问答 >
问题:

删除Woocommerce中缺货项目的次日发货方法

张翰海
2023-03-14

我已经使用了一个表率运输插件建立了4个运输区域,每个区域有一个标准和第二天交货选项。

商店里的每一件商品都能在10-15天内买到,但有些产品是库存的,可以在第二天发货。如果推车中的任何产品没有库存,那么只有标准的运输选项才可用。

我很确定我需要使用'Woocommerce_Available_Shipping_Methods'过滤器,就像下面这个类似的问题/答案所示:隐藏Shipping Options Woocommerce,但是我对如何检查每个购物车项目的库存水平一无所知。

如有任何指示,我们将不胜感激。

共有1个答案

江睿
2023-03-14

我现在已经把这个问题解决了。我的解决方案肯定不适合所有人,但它可能会帮助一些人。

我正在使用woocommerce的table rate shipping插件:http://codecanyon.net/item/table-rate-shipping-for-Woocommerce/3796656?wt(以防您想要复制这种工作方式)

我感谢这个问题的答案:隐藏运输选项Woocommerce

/* !Hide Shipping Options Woocommerce */

add_filter( 'woocommerce_available_shipping_methods', 'hide_shipping_based_on_quantity' ,    10, 1 );

function check_cart_for_oos() {

// load the contents of the cart into an array.
global $woocommerce;
$found = false;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
    $_product = $values['data'];
    $_product_quantity = $_product->get_stock_quantity();
    $_cart_quantity = $values['quantity'];
    if (($_product_quantity <= 0) || ($_cart_quantity > $_product_quantity)) {
        $found = true;
        break;
    }
}
return $found;
}


function hide_shipping_based_on_quantity( $available_methods ) {

// use the function check_cart_for_oos() to check the cart for products with 0 stock.
if ( check_cart_for_oos() ) {

    // remove the rate you want
    unset( $available_methods['table_rate_shipping_next-day'] ); // Replace "table_rate_shipping_next-day" with "table_rate_shipping_your-identifier".
}

// return the available methods without the one you unset.
return $available_methods;
}
 类似资料:
  • 与随机显示产品的客户网站存在问题 “此产品目前缺货且不可用。” 问题是我们没有打开库存跟踪,所有的产品都应该一直有库存。 当我进入WordPress管理员并单击产品的更新按钮(不做任何更改)时,消息就会消失,“添加到购物车”按钮会按原样显示。不幸的是,这个问题在将来会在这些项目上重复出现,为了解决这个问题,我必须再次更新产品(同时在WooCommerce设置中单击update可以暂时解决这个问题)

  • 我想更改归档‘添加到购物车’按钮文本的过期订购的项目。 我尝试添加以下内容:

  • [编辑:它实际上是在functions.php中添加代码并省略代码WC文件中的更改时工作的。重要提示:它只在ONE属性存在时起作用。然而,当有2个属性(大小 由于2.0 WooCommerce要么隐藏缺货的产品变体(一个明显的问题,因为客户没有办法知道它们的存在),要么将它们显示为库存变体(也是一个问题,因为客户会系统地失望地发现变体是缺货的-点击购买后的股票)。 该线程包括一个灰色解决方案,以消

  • 更新-简短版本: 将使用什么方法将用户账单/发货信息保存到会话中,以便客人结账? 长版本: 创建严重依赖自定义RESTAPIendpoint和ajax的自定义签出页面。我有

  • 我想在单产品页面上显示运输类,在从可变产品中选择一个产品之后。例如:我有一辆自行车有三种颜色(红、蓝、绿): 自行车红有航运类“免费送货” 蓝色自行车的运输类别为“额外交付” 绿色自行车的运输等级为“正常交付” 我感谢你的任何想法。

  • 在WooCommerce with Contact Form 7插件中,我在单品页面上添加了一个表单,使用以下代码: 这种“缺货”表单只适用于简单的产品: 但对可变产品的“缺货”产品变体不起作用: