Я хочу, чтобы дата доставки изменилась в соответствии с уровнем запасов. Если товар на складе, то время доставки, указанное для клиента, составляет 3-4 недели. Если товара нет на складе, то время доставки, указанное для клиента, составляет 5-6 недель. Я нашел topi c с похожей проблемой и пытаюсь использовать код из этой topi c в качестве примера. Я вставил код в файл functions. php моей темы, но ничего не изменилось. Почему это не работает для меня?
Аналогичные топи c
Код из аналогичных топи c:
add_filter ( 'woocommerce_cart_collaterals', 'lieferzeit');
function lieferzeit() {
$all_items_in_stock = true; // initializing
// Iterating through cart items (to get the stock info)
foreach (WC()->cart->get_cart() as $cart_item) {
// The cart item stock quantity
$stock = $cart_item['data']->get_stock_quantity();
if( $stock <= 0 ){
// if an item is out of stock
$all_items_in_stock = false;
break; // We break the loop
}
}
// Items "in stock" (1 to 4 week days)
if( $all_items_in_stock ){
for( $start=0, $count=-1 ; $count < 4; $start++ ){
$weekdays = date('w', strtotime("+$start days"));
if( $weekdays > 0 && $weekdays < 6 ){
$count++;
echo date('D j (w)', strtotime("+$start days")).', ';
if($count == 1){
$from = date('D. j/n', strtotime("+$start days") );
} elseif($count == 4) {
$to = date('D. j/n', strtotime("+$start days") );
}
}
}
} else { // 1 is Items Out of stock (14 to 21 week days)
for( $start=0, $count=-1 ; $count < 21; $start++ ){
$weekdays = date('w', strtotime("+$start days"));
if( $weekdays > 0 && $weekdays < 6 ){
$count++;
if($count == 14){
$from = date('D. j/n', strtotime("+$start days") );
} elseif($count == 21) {
$to = date('D. j/n', strtotime("+$start days") );
}
}
}
}
## OUTPUT ##
echo "<br><br>Estimated shipping $from - $to";
}