Zwiększ funkcjonalność e-maili potwierdzających wysyłkę WooCommerce, dodając dodatkowe szczegóły.
Objaśnienie
Jeśli chcesz dodać dodatkowe szczegóły do potwierdzeń wysyłki w e-mailach WooCommerce, ten fragment kodu jest dokładnie tym, czego potrzebujesz. Pomaga on włączać niestandardowe informacje, takie jak szczegóły odbioru czy dodatkowe notatki, w e-mailach wysyłanych do Twoich klientów.
Oto jak to działa:
- Niestandardowe pola: Kod łączy się z systemem e-mailowym WooCommerce, aby dodać niestandardowe pola. Sprawdza konkretne informacje przechowywane z każdym zamówieniem, takie jak szczegóły odbioru czy dodatkowe notatki, i włącza je do e-maila, jeśli są dostępne.
- Szczegóły odbioru: Jeśli Twoje zamówienie ma zapisane szczegóły odbioru, zostaną one dodane do e-maila w sekcji oznaczonej jako "Szczegóły odbioru."
- Dodatkowe notatki: Podobnie, wszelkie dodatkowe notatki związane z zamówieniem pojawią się w sekcji "Dodatkowe notatki."
Aspekty techniczne:
- Kod wykorzystuje filtr do modyfikacji treści e-maila, zapewniając, że Twoje niestandardowe pola są uwzględnione.
- Również modyfikuje klasy e-maili, aby upewnić się, że te pola są częścią szablonu e-maila potwierdzającego wysyłkę.
Dzięki tej konfiguracji Twoi klienci otrzymają bardziej informacyjne e-maile, co poprawi ich doświadczenie zakupowe, dostarczając wszystkie niezbędne szczegóły bezpośrednio do ich skrzynki odbiorczej.
Kod
<?php
// Hook into WooCommerce email order meta to add custom fields to the shipping confirmation email
add_filter('woocommerce_email_order_meta_fields', 'wp_dudecom_add_custom_fields_to_shipping_email', 10, 3);
/**
* Add custom fields to the WooCommerce shipping confirmation email.
*
* @param array $fields Existing fields in the email.
* @param WC_Order $sent_to_admin Whether the email is sent to admin.
* @param WC_Order $order The order object.
* @return array Modified fields with additional information.
*/
function wp_dudecom_add_custom_fields_to_shipping_email($fields, $sent_to_admin, $order) {
// Check if the order is valid
if (!$order instanceof WC_Order) {
return $fields;
}
// Add custom field for pickup details
$pickup_details = get_post_meta($order->get_id(), '_pickup_details', true);
if (!empty($pickup_details)) {
$fields['pickup_details'] = array(
'label' => __('Pickup Details', 'woocommerce'),
'value' => wp_kses_post($pickup_details),
);
}
// Add custom field for additional notes
$additional_notes = get_post_meta($order->get_id(), '_additional_notes', true);
if (!empty($additional_notes)) {
$fields['additional_notes'] = array(
'label' => __('Additional Notes', 'woocommerce'),
'value' => wp_kses_post($additional_notes),
);
}
return $fields;
}
// Hook into WooCommerce email classes to ensure custom fields are included
add_filter('woocommerce_email_classes', 'wp_dudecom_customize_woocommerce_emails');
/**
* Customize WooCommerce email classes to include custom fields.
*
* @param array $email_classes Existing email classes.
* @return array Modified email classes.
*/
function wp_dudecom_customize_woocommerce_emails($email_classes) {
// Ensure the custom fields are included in the customer shipping confirmation email
if (isset($email_classes['WC_Email_Customer_Shipped_Order'])) {
$email_classes['WC_Email_Customer_Shipped_Order']->template_base = get_stylesheet_directory() . '/woocommerce/emails/';
}
return $email_classes;
}
?>
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.
- Podstawowa znajomość dostępu do plików motywu WordPress i ich edytowania.
Kroki wdrożenia:
- Dostęp do panelu WordPress: Zaloguj się do swojego panelu administracyjnego WordPress.
- Przejdź do Edytora motywu: Przejdź do Wygląd > Edytor motywu. Jeśli wolisz użyć własnej wtyczki, przejdź do Wtyczki > Dodaj nową i stwórz nową wtyczkę.
- Otwórz functions.php: W Edytorze motywu znajdź i otwórz plik
functions.php
z listy plików po prawej stronie. - Wstaw kod: Skopiuj podany fragment kodu i wklej go na końcu pliku
functions.php
lub w pliku własnej wtyczki. - Zapisz zmiany: Kliknij przycisk Aktualizuj plik, aby zapisać zmiany.
- Przetestuj wdrożenie: Złóż zamówienie testowe w swoim sklepie WooCommerce i sprawdź e-mail potwierdzający wysyłkę, aby upewnić się, że pola niestandardowe są wyświetlane poprawnie.
Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy w zakresie tego wdrożenia lub bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.