// Wyświetl checkbox w koszyku, tylko jeśli są produkty na backorderze
add_action('woocommerce_after_cart_totals', 'add_checkbox_to_cart_totals_table');
function add_checkbox_to_cart_totals_table() {
if (!has_backorder_in_cart()) return;
$html = '
';
$html .= '';
$html .= ' ';
$html .= __('Zamawiam dostępne produkty ', 'woocommerce');
$html .= ' ';
$html .= 'Rzeczywisty czas realizacji zamówienia zostanie podany w wiadomości e-mail z potwierdzeniem, przesłanej przez pracownika. ';
$html .= '
';
echo $html;
}
add_action('wp_footer', function () {
if (!is_cart() && !is_checkout()) return;
$script = '';
echo $script;
});
add_action('woocommerce_checkout_create_order', function ($order, $data) {
$realizacja = isset($_POST['czesciowa_realizacja']) && $_POST['czesciowa_realizacja'] === 'yes' ? 'yes' : 'no';
$order->update_meta_data('_czesciowa_realizacja', $realizacja);
}, 10, 2);
add_filter('woocommerce_get_order_item_totals', function ($totals, $order, $tax_display) {
$realizacja = $order->get_meta('_czesciowa_realizacja');
if ($realizacja === 'yes' && has_backorder_in_order($order)) {
$totals['czesciowa_realizacja'] = array(
'label' => __('Realizacja częściowa (produktów dostepnych na magazynie):', 'woocommerce'),
'value' => __('Tak', 'woocommerce'),
);
}
return $totals;
}, 20, 3);
add_action('woocommerce_review_order_before_payment', 'show_realizacja_czesciowa_checkout');
function show_realizacja_czesciowa_checkout() {
$html = '';
$html .= '' . __('Realizacja częściowa (produktów dostepnych na magazynie):', 'woocommerce') . ' ';
$html .= 'Nie ';
$html .= ' ';
echo $html;
// Ustaw tekst na podstawie sessionStorage (znowu frontend)
$script = '';
echo $script;
}
function has_backorder_in_cart() {
foreach (WC()->cart->get_cart() as $cart_item) {
$product = $cart_item['data'];
if ($product->backorders_allowed() && $product->is_on_backorder($cart_item['quantity'])) {
return true;
}
}
return false;
}
function has_backorder_in_order($order) {
foreach ($order->get_items() as $item) {
$product = $item->get_product();
if ($product && $product->backorders_allowed() && $product->is_on_backorder($item->get_quantity())) {
return true;
}
}
return false;
}
add_action('woocommerce_admin_order_data_after_billing_address', function ($order) {
$realizacja = $order->get_meta('_czesciowa_realizacja');
$html = 'Realizacja częściowa: ' . ($realizacja === 'yes' ? 'Tak' : 'Nie') . '
';
echo $html;
});
Sklep – Strona 57 – ElektroBecov
Przewiń do zawartości
Ta strona korzysta z plików cookies, zgodnie z naszą Polityką prywatności. Korzystając z serwisu wyrażasz na to zgodę. W każdej chwili możesz dokonać zmiany ustawień dotyczących cookies w swojej przeglądarce.
View more