Tambahkan Catatan Pesanan WooCommerce ke Email yang Selesai
Tidak ada yang lebih baik daripada memiliki informasi tentang pesanan yang Anda buat mengenai statusnya atau data lain yang menurut Anda berguna terkait pesanan Anda. Secara default, WooCommerce menyimpan setiap tindakan yang tertaut ke pesanan di database. Rangkaian tindakan ini tersedia di administrasi, di sidebar saat Anda mengedit pesanan. Namun pelanggan Anda tidak memiliki akses ke daftar tindakan ini. Kabar baiknya adalah Anda dapat dengan mudah menambahkannya ke email apa pun yang dikirim oleh WooCommerce. Dalam posting ini, saya akan menunjukkan kepada Anda untuk menambahkan catatan pesanan email lengkap (ini adalah email yang dikirim ketika status pesanan ditandai selesai). Namun Anda juga dapat menggunakan metode itu untuk menambahkan catatan pesanan ke email lainnya.
Templat atau pengait khusus?
Sekadar pengingat singkat: semua email dalam WooCommerce disediakan menggunakan templat, dan Anda dapat mengganti templat default dengan membuat templat Anda sendiri. Pada dasarnya templat khusus memungkinkan Anda mengganti file default WooCommerce dan menggunakan file khusus Anda sendiri. Berikut adalah tutorial singkat yang akan menjelaskan cara membuat templat khusus Anda: http://docs.woothemes.com/document/template-structure/.
Anda dapat menambahkan catatan pesanan dalam templat khusus, tetapi saya ingin menunjukkan cara lain untuk melakukannya, menggunakan pengait. Idenya adalah untuk tidak menggunakan templat khusus, tetapi menggunakan file fungsi.php hanya dalam folder tema Anda.
Catatan pesanan adalah komentar WordPress
Catatan pesanan adalah komentar WordPress yang memiliki jenis “order_note” tertentu, sehingga Anda dapat menggunakan kelas WP_Query WordPress yang diterapkan pada komentar menggunakan fungsi get_comments().
Kait yang perlu kita gunakan adalah tindakan yang disebut “woocommerce_email_order_meta”. Idenya adalah untuk memanggil fungsi khusus ketika tindakan ini dimuat dalam proses WooCommerce.
Menggunakan get_comments() menyederhanakan cara kita mengambil catatan pesanan, kita hanya perlu memastikan bahwa kita ingin membuat daftar komentar yang ditautkan ke pesanan tertentu menggunakan ID kiriman dan atribut komentar "setujui" yang artinya komentar tersebut divalidasi (dalam hal ini oleh WooCommerce).
Kode
Berikut ini kode untuk ditempatkan dalam file functions.php di folder tema Anda:
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>' . __( 'Order Notes', '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( 'customer-note', 'note' ) : array( 'note' );
?>
<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>' . __( 'There are no notes for this order yet.', 'woocommerce' ) . '</li>';
}
echo '</ul>';
}Seperti yang Anda lihat, kode ini cukup sederhana, tidak ada yang rumit, sehingga Anda dapat dengan mudah menyesuaikannya. Harap perhatikan penggunaan beberapa fungsi bagus seperti human_time_diff(), wptexturize(), atau wp_kses_post().
Baiklah, saya harap Anda menikmati postingan itu, silakan tinggalkan komentar di formulir di bawah ini, saya ingin mendapatkan tanggapan Anda tentang hal itu!
