WooCommerce'de Siparişleri Otomatik Olarak Onaylama

Yayınlanan: 2020-09-25

Otomatik Onay Siparişleri WooCommerce Bir e-ticaret mağazası işletiyorsanız, sitenin siparişleri izlemeyi ve yönetmeyi gerektirdiğinin farkındasınızdır. Ancak, özellikle çevrimiçi mağazanız bir günde çok sayıda siparişle sonuçlanan yüksek trafik topluyorsa, bu yönetici için yorucu bir iş olabilir.

Ek olarak, Ödeme işlemi tamamlanır tamamlanmaz bir siparişin oluşturulacağını bilirsiniz. Bir siparişe, siparişin ödemeden teslimata zincirinde nerede olduğuna göre bir durum atanır.

Ayrıca, durumlar siparişin başlatıldığı yere bağlı olarak WooCommerce, Payment Gateway ve mağaza yöneticisi tarafından belirlenir veya değiştirilir.

Kullanıcı Kapıda Ödeme seçeneğini seçmediyse, siparişin ödemesi tamamlandıktan sonra. Bir sipariş tamamlandığında, mağaza sahibi manuel olarak "Tamamlandı" olarak değiştirene kadar durumu "İşleniyor" olarak ayarlanır. Bu, mağaza sahibi veya yönetici için göz korkutucu bir görev olacaktır.

Otomatik Onay Siparişleri WooCommerce

Bu kısa eğitimde, bir ödeme başarıyla yapıldığında siparişin durumunu otomatik olarak Tamamlandı olarak ayarlamanıza yardımcı olacak özel bir PHP kodunu sizinle paylaşacağım. Bu, kullanıcı Kapıda Ödeme seçeneğini seçse bile sipariş durumunun otomatik olarak Tamamlandı olarak değişeceği anlamına gelir.

Ayrıca sanal ürünler için WooCommerce sipariş durumunu otomatik olarak Tamamlandı olarak ayarlayacak bir çözümü de sizlerle paylaşacağım. Bu ürünler somut veya indirilebilir değildir.

Bunun nedeni, üyelik aboneliğinin somut bir formu olmayıp bunun yerine bir sona erme tarihine sahip olabilmesidir. İndirilebilir ürünlerle ilgileniyorsanız, Kapıda Ödeme seçeneği dahil edilmemeli, bunun yerine sadece siparişteki tüm ürünlerin sanal olup olmadığını kontrol etmek için bir koşul eklenmelidir.

Artık sipariş durumlarının nasıl ayarlandığını bildiğinize göre, işte size nasıl yapılacağına dair ayrıntılı bir kılavuz:

  • Ödeme yöntemine göre WooCommerce sipariş durumunu otomatik olarak Tamamlandı olarak ayarlayın.
  • Sanal ürünler için WooCommerce sipariş durumunu otomatik olarak Tamamlandı olarak ayarlayın.

a) WooCommerce Sipariş Durumunu Ödeme Yöntemine Göre Tamamlandı Olarak Otomatik Olarak Ayarlama Adımları

İşte izlemeniz gereken basit adımlar:

  1. WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin.
  2. Pano menüsünden Görünüm Menüsü > Tema Düzenleyici Menüsü öğesine tıklayın. Tema Editörü sayfası açıldığında, ödeme yöntemine göre woocommerce sipariş durumunu otomatik olarak tamamlandı olarak ayarlayacak işlevi ekleyeceğimiz tema işlevleri dosyasını arayın.
  3. php dosyasına aşağıdaki kodu ekleyin :
 /**

Ödeme yöntemine göre woocommerce sipariş durumunu otomatik olarak tamamlandı olarak ayarlamak için snippet

*/

add_action('woocommerce_order_status_changed', 'njengah_auto_complete_by_payment_method');

function njengah_auto_complete_by_payment_method($order_id)

{

if ( ! $order_id ) {

dönüş;

}

küresel $ürün;

$sipariş = wc_get_order( $sipariş_kimliği);

if ($order->data['status'] == 'işleniyor') {

$payment_method=$order->get_payment_method();

if ($payment_method!="bacs")

{

$order->update_status('tamamlandı');

}

}

}
  1. Sonucu görmek için WordPress Dashboard'a gidin ve WooCommerce > Orders'a tıklayın. Siparişin aşağıda gösterildiği gibi Tamamlandı olarak ayarlandığını göreceksiniz: onaylanmış sipariş

Kod Nasıl Çalışır?

Yukarıdaki kodda, bir siparişin durumu değiştiğinde bir işlevi çağırmak için woocommerce_order_status_changed kancasını kullandım. Siparişin İşleniyor durumunda olup olmadığını kontrol eder ve Tamamlandı olarak değiştirir.

Varsayılan olarak WooCommerce, Doğrudan Banka Havalesi (bacs), Çek ödemeleri (çek), Teslimatta Nakit (kod) ve PayPal (PayPal) olmak üzere dört varsayılan ödeme yöntemine sahiptir. Ancak, koşulu belirlediğiniz ödeme yöntemini belirtmeniz gerekir.

b) Sanal Ürünler için WooCommerce Sipariş Durumunu Tamamlandı Olarak Otomatik Olarak Ayarlama Adımları

indirilebilir ürün: Siparişleri Otomatik Onaylayın WooCommerce İşte izlemeniz gereken adımlar:

  1. WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin.
  2. Pano menüsünden Görünüm Menüsü > Tema Düzenleyici Menüsü öğesine tıklayın. Tema Editörü sayfası açıldığında, sanal ürünler için woocommerce sipariş durumunu otomatik olarak tamamlandı olarak ayarlayacak işlevi ekleyeceğimiz tema işlevleri dosyasını arayın.
  3. php dosyasına aşağıdaki kodu ekleyin :
 /**

Sanal ürünler için woocommerce sipariş durumunu otomatik olarak tamamlandı olarak ayarlamak için snippet

*/

add_action('woocommerce_order_status_changed', 'njengah_auto_complete_virtual');

işlev njengah_auto_complete_virtual($order_id)

{

if ( ! $order_id ) {

dönüş;

}

küresel $ürün;

$sipariş = wc_get_order( $sipariş_kimliği);

if ($order->data['status'] == 'işleniyor') {

$sanal_sıra = boş;

if ( count( $order->get_items() ) > 0 ) {

foreach( $order->get_items() as $item ) {

if ( 'line_item' == $item['type'] ) {

$_product = $sipariş->get_product_from_item( $item );

if ( ! $_product->is_virtual() ) {

// sanal olmayan bir ürün bulduğumuzda döngüden çıkarız

$sanal_sıra = yanlış;

kırmak;

}

Başka {

$sanal_sıra = doğru;

}

}

}

}




// hepsi sanal ürünlerse tamamlandı olarak işaretle

if ( $virtual_order ) {

$order->update_status('tamamlandı');

}

}

}

  1. Sıra otomatik olarak Tamamlandı olarak ayarlanacağından, sonuç ilk örnekle aynı olacaktır.

Kod Nasıl Çalışır?

Yukarıdaki kodda, njengah_auto_complete_virtual işlevini çağırmak için aynı kancayı kullandım. İşleniyor durumunda olup olmadığını kontrol ettikten sonra kod, sanal bir ürün olup olmadığını görmek için sırayla her bir öğeden geçer.

line_item ürüne atıfta bulunur ve sanal olup olmadıklarını kontrol etmek için yalnızca ürünlerin tek tek getirilmesi gerekir. Sanal ürün yoksa siparişin durumu Tamamlandı olarak işaretlenmeyecektir.

Çözüm

Bu kısa eğitimde, WooCommerce sipariş durumunu nasıl Tamamlandı olarak otomatik olarak ayarlayabileceğinizi paylaştım. Ödeme yöntemine göre ve sanal ürünler için yaptım.

Ancak, mağazanız için ihtiyaç duyduğunuz gereksinimlere bağlı olarak, ilk kod parçacığını kullanarak sipariş durumunu Tamamlandı olarak işaretlemek için daha fazla koşul ekleyebilirsiniz. Örneğin, ödeme yapıldıysa, sanal ürün olup olmadığını kontrol ettikten sonra ödeme yöntemine bir çek ekleyerek, sanal olmayan ürünler için bile Sipariş Durumunu Tamamlandı olarak işaretleyebilirsiniz.

Ancak bu kod parçası aracılığıyla siparişin durumu ancak siparişteki tüm ürünler sanal ürün ise tamamlandı olarak ayarlanır. Umarım bu gönderi, WooCommerce'deki siparişleri otomatik olarak onaylamak için bir çözüm sağlamıştır.

Benzer Makaleler