Ten kod PHP jest przeznaczony dla sklepów opartych na platformie WooCommerce w systemie WordPress. Gdy dodasz ten kod do pliku functions.php w aktywnym motywie lub motywie potomnym, pozwoli on automatycznie zmienić status zamówienia z „oczekuje na płatność” na „zrealizowane” po zaksięgowaniu płatności.

// Sprawdź, czy WooCommerce jest aktywny
if (!in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
    return;
}

// Funkcja do automatycznej zmiany statusu zamówienia
function auto_complete_paid_orders($order_id) {
    if (!$order_id) {
        return;
    }

    $order = wc_get_order($order_id);

    if ('on-hold' === $order->get_status() || 'pending' === $order->get_status()) {
        // Sprawdź, czy zamówienie jest opłacone
        if ($order->is_paid()) {
            // Ustaw status zamówienia na "zrealizowane"
            $order->update_status('completed');
        }
    }
}

// Dodaj funkcję do odpowiedniego hooka
add_action('woocommerce_payment_complete', 'auto_complete_paid_orders', 10, 1);
  1. Kod sprawdza, czy WooCommerce jest aktywny w systemie WordPress. Jeśli nie, nic nie robi i zakończy działanie.
  2. Zdefiniowana jest funkcja auto_complete_paid_orders, która przyjmuje jako parametr identyfikator zamówienia ($order_id).
  3. W funkcji, jeśli identyfikator zamówienia nie jest ustawiony, zwraca null i kończy działanie.
  4. Dla podanego identyfikatora zamówienia, kod pobiera obiekt zamówienia za pomocą funkcji wc_get_order.
  5. Następnie sprawdza, czy status zamówienia to „on-hold” (oczekuje na płatność) lub „pending” (oczekujące).
  6. Jeśli tak, kod sprawdza, czy zamówienie jest opłacone za pomocą metody is_paid.
  7. Jeśli zamówienie jest opłacone, funkcja aktualizuje status zamówienia na „completed” (zrealizowane) za pomocą metody update_status.
  8. Na koniec, kod dodaje funkcję auto_complete_paid_orders do hooka woocommerce_payment_complete, który jest wywoływany po zaksięgowaniu płatności dla zamówienia. Dzięki temu, funkcja zostanie automatycznie wywołana, gdy tylko płatność zostanie zaksięgowana.

Imię:


Nazwisko:


Adres email:


Nazwa Twojej firmy:


NIP Twojej firmy

REGON Twojej firmy



Adres Twojej firmy

Ulica

Kod pocztowy

Miasto

Wybierz bramkę płatniczą na Twojej stronie