Dostosowywanie wiadomości potwierdzającej
Na tej stronie opisujemy, jak dostosować wiadomość zawierającą token potwierdzający rezerwację, wysyłaną przy wyłączonych płatnościach online.
Od wersji 1.0.2 wtyczka Simple Bike Rental wysyła e-mail potwierdzający w formacie HTML, dzięki czemu wiadomość jest czytelniejsza i bardziej profesjonalna.
Wprowadzono również dwa filtry WordPress, które pozwalają programistom dostosować temat i treść wiadomości.
W tym przewodniku pokażemy, jak to zrobić w kilku prostych krokach.
Edycja tematu wiadomości e-mail
Możesz zmienić temat wiadomości za pomocą filtra simpbire_email_subject w pliku functions.php motywu (lub we własnej wtyczce):
add_filter('simpbire_email_subject', 'custom_sbr_email_subject', 10, 2);
function custom_sbr_email_subject($subject, $name) {
return "Confirm your bike rental, $name!";
}
Zmiana treści wiadomości e-mail
Filtr simpbire_email_message pozwala dostosować całą wiadomość HTML, łącznie z odnośnikiem potwierdzającym:
add_filter('simpbire_email_message', 'custom_sbr_email_message', 10, 3);
function custom_sbr_email_message($message, $name, $link) {
$name = esc_html($name);
$link = esc_url($link);
return "
<p>Hi $name,</p>
<p>Thanks for booking your bike with us!</p>
<p>Please confirm your rental by clicking the button below:</p>
<p>
<a href=\"$link\"
style=\"display:inline-block;
padding:12px 24px;
background-color:#2271b1;
color:#ffffff;
text-decoration:none;
border-radius:4px;
font-weight:600;\">
Confirm your reservation
</a>
</p>
<p>If the button does not work, copy and paste this link into your browser:</p>
<p><a href=\"$link\">$link</a></p>
<p>Looking forward to seeing you!</p>
";
}
Możesz swobodnie używać HTML i dodawać obrazy, logo lub własne style.
Bezpieczeństwo i zgodność
Wtyczka oczyszcza $name za pomocą sanitize_text_field(), a $link za pomocą esc_url_raw() przed przekazaniem ich do filtrów. Oczyszczanie danych nie zastępuje odpowiedniego zabezpieczania danych podczas ich wyświetlania: podczas tworzenia własnej wiadomości HTML używaj esc_html($name) dla imienia i esc_url($link) dla odnośnika potwierdzającego, jak w powyższym przykładzie. Temat wiadomości jest zwykłym tekstem i nie wymaga kodowania znaków specjalnych HTML.
Wtyczka przekazuje temat i treść zwrócone przez filtry bezpośrednio do wp_mail(), bez dodatkowego oczyszczania ani zabezpieczania danych wyjściowych. Stosuj odpowiednie funkcje zabezpieczające do wszystkich danych dynamicznych umieszczanych w wiadomości HTML, w tym pól własnych, metadanych użytkownika i danych wprowadzonych przez użytkownika.
esc_html()– dla tekstu wewnątrz HTMLesc_url()– dla adresów URL, w tym odnośników i obrazówesc_attr()– dla wartości pozostałych atrybutów HTML
Potrzebujesz pomocy?
Jeśli masz pytania dotyczące stosowania tych filtrów, możesz skontaktować się z nami przez stronę kontaktową lub rozpocząć dyskusję na forum wsparcia WordPress.org.