"Enter"a basıp içeriğe geçin

WooCommerce Özel Sipariş Durumları: Nasıl Eklenir ve E-posta Bildirimleri Nasıl Tetiklenir?

WooCommerce, sipariş yönetimini kolaylaştıran standart sipariş durumları ile birlikte gelir, ancak bazı iş modelleri için bu durumlar yetersiz kalabilir. Örneğin, özel üretim siparişleri veya belirli kontrol süreçleri için yeni sipariş durumları eklemek isteyebilirsiniz. WooCommerce’in esnek yapısı sayesinde, özel sipariş durumları oluşturmak ve bu durumlar için e-posta bildirimlerini tetiklemek mümkündür.

Bu yazıda, WooCommerce özel sipariş durumları eklemenin iki farklı yolunu anlatacağım: birincisi functions.php dosyasına eklenecek bir kod ile, ikincisi ise bir WordPress eklentisi yazarak. Ayrıca, sipariş durumu değiştiğinde e-posta gönderimini nasıl tetikleyeceğinizi de göstereceğim.

1. Tema functions.php Dosyasına Özel Sipariş Durumu Ekleme

WooCommerce özel sipariş durumları eklemek için aşağıdaki kodu temanızın functions.php dosyasına ekleyebilirsiniz:

// Özel sipariş durumlarını tanımlar
function custom_register_post_statuses() {
    register_post_status( 'wc-ozel-uretim', array(
        'label'                     => 'Özel Üretim',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( 'Özel Üretim (%s)', 'Özel Üretim (%s)' )
    ) );
}
add_action( 'init', 'custom_register_post_statuses' );

// Özel sipariş durumlarını sipariş detaylarına ekler
function custom_add_order_statuses( $order_statuses ) {
    $order_statuses['wc-ozel-uretim'] = _x( 'Özel Üretim', 'Order status', 'text_domain' );
    return $order_statuses;
}
add_filter( 'wc_order_statuses', 'custom_add_order_statuses' );

Bu kod, WooCommerce’de Özel Üretim adında yeni bir sipariş durumu oluşturur ve yönetici panelinde siparişler listesine ekler.

2. Özel Sipariş Durumlarını Yönetmek İçin Çatı Bir Eklenti

Bu işlemi bir WordPress eklentisi ile yapmak, daha esnek ve güncellemelere karşı daha dayanıklı bir yöntemdir. Aşağıdaki gibi bir eklenti dosyası oluşturarak, bu fonksiyonu kullanabilirsiniz.

<?php
/*
Plugin Name: WooCommerce Özel Sipariş Durumları
Description: WooCommerce için özel sipariş durumu ekleyen bir eklenti.
Version: 1.0
Author: Eray Usta
*/

// Özel sipariş durumlarını kaydeder
function custom_plugin_register_post_statuses() {
    register_post_status( 'wc-ozel-uretim', array(
        'label'                     => 'Özel Üretim',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( 'Özel Üretim (%s)', 'Özel Üretim (%s)' )
    ) );
}
add_action( 'init', 'custom_plugin_register_post_statuses' );

// Özel sipariş durumlarını sipariş listesine ekler
function custom_plugin_add_order_statuses( $order_statuses ) {
    $order_statuses['wc-ozel-uretim'] = _x( 'Özel Üretim', 'Order status', 'text_domain' );
    return $order_statuses;
}
add_filter( 'wc_order_statuses', 'custom_plugin_add_order_statuses' );

// Özel sipariş durumu değiştiğinde e-posta gönderimini tetikler
function custom_plugin_trigger_email_on_status_change( $order_id, $old_status, $new_status ) {
    if ( $new_status == 'wc-ozel-uretim' ) {
        $order = wc_get_order( $order_id );
        // E-posta detaylarını ayarlayın
        $mailer = WC()->mailer();
        $mails = $mailer->get_emails();
        // WC_Email_New_Order: varsayılan yeni sipariş e-posta şablonunu kullanmak için
        if ( ! empty( $mails ) ) {
            foreach ( $mails as $mail ) {
                if ( $mail->id == 'new_order' ) {
                    $mail->trigger( $order_id );
                }
            }
        }
    }
}
add_action( 'woocommerce_order_status_changed', 'custom_plugin_trigger_email_on_status_change', 10, 3 );

Bu eklenti:

  • wc-ozel-uretim adında bir sipariş durumu ekler.
  • Sipariş durumu Özel Üretim olarak değiştiğinde, varsayılan yeni sipariş e-posta bildirimini tetikler.

Özet

WooCommerce’de özel sipariş durumları eklemek ve e-posta bildirimlerini yönetmek oldukça basittir. İster temanızın functions.php dosyasına, ister bir eklenti olarak bu kodları ekleyerek, iş akışınıza uygun yeni sipariş durumları tanımlayabilirsiniz. E-posta bildirimleri de sipariş durumuna bağlı olarak tetiklenebilir, böylece müşteriler ve işletme sahipleri sipariş süreci hakkında anında bilgilendirilebilir.

Bu basit kodları ihtiyaçlarınıza göre özelleştirerek, WooCommerce’in sunduğu esnekliği tam anlamıyla kullanabilirsiniz!

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir