Nie ma nic lepszego niż posiadanie informacji o złożonym zamówieniu dotyczących jego statusu lub innych danych, które można znaleźć przydatne w odniesieniu do zamówienia. Domyślnie WooCommerce przechowuje każdą akcję powiązaną z zamówieniem w bazie danych. Ta seria działań jest dostępna w administracji, na pasku bocznym podczas edycji zamówienia. Ale twoi klienci nie mają dostępu do tej listy działań. Dobrą wiadomością jest to, że możesz łatwo dodać go do dowolnego e-maila wysłanego przez WooCommerce. W tym poście pokażę Ci Dodaj, aby dodać uwagi do zamówienia kompletny e-mail (jest to e-mail wysłany, gdy status zamówienia jest oznaczony jako zakończony). Ale możesz użyć tej metody, aby dodać uwagi do zamówienia do innych wiadomości e-mail.
Niestandardowe szablony czy Hooki?
Tylko szybkie przypomnienie: Wszystkie wiadomości e-mail w WooCommerce są dostarczane za pomocą szablonów, a szablony domyślne można zastąpić, tworząc własne szablony. Zasadniczo niestandardowy szablon pozwala nadpisać domyślne pliki WooCommerce i zamiast tego używać własnych niestandardowych plików. Oto krótki samouczek, który wyjaśni Ci, jak tworzyć niestandardowe szablony: http://docs.woothemes.com/document/template-structure/
Możesz dodać uwagi do zamówienia w ramach niestandardowych szablonów, ale chciałbym pokazać inny sposób, aby to zrobić, za pomocą haczyka. Chodzi o to, aby nie używać niestandardowych szablonów, ale korzystać z funkcji.plik php tylko w folderze motywu.
Uwagi o zamówieniach są komentarzami WordPress
Uwagi do zamówień to Komentarze WordPress o określonym typie „order_note”, dzięki czemu można użyć klasy WP_Query WordPress zastosowanej do Komentarzy za pomocą funkcji get_comments ().
Hook, którego musimy użyć, to akcja o nazwie „woocommerce_email_order_meta”. Chodzi o wywołanie funkcji niestandardowej, gdy ta akcja zostanie załadowana w procesie WooCommerce.
Użycie get_comments() upraszcza sposób, w jaki możemy pobrać uwagi do zamówienia, musimy tylko upewnić się, że chcemy wyświetlić listę komentarzy powiązanych z konkretnym zamówieniem za pomocą identyfikatora postu i atrybutu „Zatwierdź” komentarz, co oznacza, że komentarz jest sprawdzany (w tym przypadku przez WooCommerce).
Kodeks
Oto kod do umieszczenia w funkcjach.plik php w folderze motywu:
add_action ('woocommerce_email_order_meta', 'woo_add_order_notes_to_email');
function woo_add_order_notes_to_email () {
global $woocommerce, $post;
$args = array(
'post_id' = > $post - > ID,
'approve' = > 'approve',
'type' = > 'order_note'
);
$notes = get_comments ($args );
echo '<H2>' . __( 'Uwagi do zamówień', 'woocommerce'). "</h2>";
echo '< ul class = "order_notes">';
if ($notes) {
foreach ($notes as $note ) {
$note_classes = get_comment_meta( $note->comment_ID, 'is_customer_note', true ) ? array ('notatka klienta',' notatka'): array ('notatka' );
?>
< li rel= " comment_ID);?> "class="">
< div class = "note_content">
comment_content )));?>
< / div>
<p class = "meta">
comment_date_gmt ), current_time( 'timestamp', 1)));?>
< / p>
< / li>
<?php
}
} else {
echo '<li>' . __ ('Nie ma jeszcze notatek do tego zamówienia.", "woocommerce"). "</li>";
}
echo ' < /ul>';
}
Jak widać ten kod jest dość prosty, nic skomplikowanego, więc można go łatwo dostosować. Zwróć uwagę na użycie niektórych ładnych funkcji, takich jak human_time_diff (), wptexturize () lub wp_kses_post().
Cóż, mam nadzieję, że podobał Ci się ten post, proszę zostawić komentarz w poniższym formularzu, chciałbym uzyskać Twoją opinię na ten temat!