WooCommerce - 重复订单的不同配送方式
WooCommerce - 重复订单的不同配送方式
我正在开发一个网站,使用以下插件:
- WooCommerce
- WooCommerce订阅
- Pakkelabels.dk for WooCommerce
"Pakkelabels.dk"是丹麦的承运商包装标签插件。此插件使用标准的WooCommerce过滤器和钩子添加额外的配送方式。
我正在使用混合结账。购物车总计目前如下所示:
这是我想要做的事情
对于重复订单,我只想限制配送方式为“DAO Pakkeshop”和“本地自取”(对不起,图中是丹麦语)。
当购物车中有特定产品ID(订阅产品)时,我已将以下内容添加到functions.php中,以删除我不想要的配送方式:
add_filter( 'woocommerce_package_rates', 'hide_shipping_methods_woo_sg', 10, 2 ); function hide_shipping_methods_woo_sg( $rates, $package ) { $product_id = get_field('product_auto_cart', 'option'); if($product_id){ $product_cart_id = WC()->cart->generate_cart_id( $product_id ); $in_cart = WC()->cart->find_product_in_cart( $product_cart_id ); if($in_cart) { unset( $rates['pakkelabels_shipping_dao_direct'] ); unset( $rates['pakkelabels_shipping_gls_private'] ); unset( $rates['pakkelabels_shipping_gls_business'] ); unset( $rates['pakkelabels_shipping_gls'] ); unset( $rates['pakkelabels_shipping_pdk'] ); unset( $rates['pakkelabels_shipping_postnord_private'] ); unset( $rates['pakkelabels_shipping_postnord_business'] ); // unset( $rates['local_pickup:19'] ); } return $rates; } }
我的问题是,这会同时删除订单和重复订单的配送方式,如图所示。
我需要一种条件,以便只能针对重复订单的配送方式并取消设置它们。
我该如何实现这一点?