Wyłącz e-maile WooCommerce dla określonych zmian statusu zamówienia
Jak zatrzymać e-maile WooCommerce dla określonego statusu zamówienia;
Wyłącz powiadomienia e-mail WooCommerce dla wybranych zamówień;
Zapobiegaj wysyłaniu e-maili przez WooCommerce przy zmianie statusu zamówienia;
Wyłącz e-maile WooCommerce dla określonego statusu zamówienia;
Zatrzymaj e-maile zamówień WooCommerce dla niestandardowego statusu;
Wyłącz e-maile WooCommerce dla zrealizowanych zamówień;
Jak zapobiec e-mailom WooCommerce w określonych warunkach;
Zatrzymaj wysyłanie e-maili przez WooCommerce przy ręcznej zmianie statusu zamówienia;
Wyłącz e-maile dla konkretnych zamówień WooCommerce;
Zablokuj e-maile WooCommerce dla określonych aktualizacji zamówienia;
Objaśnienie
Jeśli chcesz zatrzymać WooCommerce przed wysyłaniem e-maili, gdy zamówienie osiągnie określone statusy, ten fragment kodu jest idealnym rozwiązaniem.
Co to robi:
- Zapobiega wysyłaniu e-maili dla określonych statusów zamówień, takich jak 'zrealizowane' lub dowolny niestandardowy status, który zdefiniujesz.
Jak to działa:
- Kod łączy się z systemem e-mailowym WooCommerce.
- Sprawdza każdy typ e-maila, aby zobaczyć, czy powinien być wysłany w zależności od statusu zamówienia.
- Jeśli status zamówienia odpowiada jednemu z wymienionych statusów (np. 'zrealizowane'), zatrzymuje wysyłkę e-maila.
Dostosowywanie:
- Aby dodać lub usunąć statusy, wystarczy zmodyfikować tablicę $disabled_statuses. Na przykład, dodaj 'oczekujące', aby zatrzymać e-maile dla zamówień oczekujących.
To wygodny sposób na zarządzanie powiadomieniami, które otrzymują Twoi klienci, zapewniając, że dostają tylko te e-maile, które są naprawdę potrzebne.
Kod
<?php
// Function to disable WooCommerce emails for specific order statuses
function wp_dudecom_disable_woocommerce_emails( $email_classes ) {
// List of order statuses for which emails should be disabled
$disabled_statuses = array( 'completed', 'custom-status' );
// Loop through each email class
foreach ( $email_classes as $email_class ) {
// Check if the email class is an instance of WC_Email
if ( is_a( $email_class, 'WC_Email' ) ) {
// Add a filter to disable the email if the order status is in the disabled list
add_filter( 'woocommerce_email_enabled_' . $email_class->id, function( $enabled, $order ) use ( $disabled_statuses ) {
if ( $order instanceof WC_Order && in_array( $order->get_status(), $disabled_statuses ) ) {
return false;
}
return $enabled;
}, 10, 2 );
}
}
return $email_classes;
}
add_filter( 'woocommerce_email_classes', 'wp_dudecom_disable_woocommerce_emails' );
?>
Instrukcja
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub do pliku własnej wtyczki.
Wymagania wstępne:
- Upewnij się, że WooCommerce jest zainstalowane i aktywowane na Twojej stronie WordPress.
Kroki wdrożenia:
- Zaloguj się do panelu administracyjnego WordPress.
- Przejdź do Wygląd > Edytor motywu, jeśli używasz pliku
functions.php
, lub przejdź do Wtyczki > Edytor wtyczek, jeśli używasz pliku własnej wtyczki. - Znajdź i otwórz plik
functions.php
aktywnego motywu lub plik własnej wtyczki. - Skopiuj podany fragment kodu.
- Wklej kod na końcu pliku
functions.php
lub pliku własnej wtyczki. - Zapisz zmiany.
Dostosowywanie:
- Aby zmodyfikować, które statusy zamówień wyłączają powiadomienia e-mail, edytuj tablicę
$disabled_statuses
w kodzie. Na przykład, dodaj 'pending' do tablicy, aby wyłączyć e-maile dla zamówień oczekujących.
Jeśli potrzebujesz dalszej pomocy lub chcesz odkryć bardziej zaawansowane funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.