Im Grunde versuche ich die Flatrate Methode Id flat_rate:7
deaktiviert zu machen, wenn es Wagenpositionen, die die Versandklasse „Roller“ (ID 92
) haben.ausblenden Versandmethode für bestimmte Versandklassen in WooCommerce
Dies ist der Code, den ich versucht:
add_filter('woocommerce_package_rates', 'wf_hide_shipping_method_based_on_shipping_class', 10, 2);
function wf_hide_shipping_method_based_on_shipping_class($available_shipping_methods, $package)
{
$hide_when_shipping_class_exist = array(
92 => array(
'flat_rate:7'
)
);
$shipping_class_in_cart = array();
foreach(WC()->cart->cart_contents as $key => $values) {
$shipping_class_in_cart[] = $values['data']->get_shipping_class_id();
}
foreach($hide_when_shipping_class_exist as $class_id => $methods) {
if(in_array($class_id, $shipping_class_in_cart)){
foreach($methods as & $current_method) {
unset($available_shipping_methods[$current_method]);
}
}
}
return $available_shipping_methods;
}
Versandklasse ID 92
der Versandklasse und ich möchte flat_rate:7
für sie verstecken.
Meine Website ist dies: http://www.minimoto.me/ Wordpress: 4.8.4 WooCommerce: 3.1.1
Jede Hilfe wird sehr geschätzt.
Es tut mir leid, herausgegeben ich meine Frage –
Ich habe beantwortet Ihre Frage die. Wie Sie sehen werden, ist dies auf sehr einfache Weise möglich. Bitte versuchen Sie es und geben Sie mir Feedback. Vielen Dank. – LoicTheAztec