WooCommerce'de Sipariş Durumu Nasıl Gizlenir

Yayınlanan: 2020-11-12

WooCommerce Sipariş Durumunu Gizle WooCommerce mağazanızda temel sipariş durumlarını gizlemek istiyor musunuz? Geçenlerde bir müşteri, WooCommerce mağazasındaki bazı sipariş durumlarını gizlememi istedi. Bu gönderide, bazı sipariş durumlarını nasıl kolayca kaldırabileceğinizi ve özel durumların nasıl oluşturulacağını göreceksiniz.

WooCommerce Sipariş Durumunu Gizle

Çeşitli nedenlerle bazı temel sipariş durumlarını gizlemek isteyebilirsiniz. Bununla birlikte, WooCommerce'in varsayılan sürümü, siparişleri tamamlandı, işleniyor, ödeme bekleniyor, beklemeye alındı, geri ödeme yapıldı, iptal edildi veya başarısız oldu durumlarından biriyle işaretlemenize olanak tanır.

Birçok eklenti, sipariş durumlarını yönetmenize izin verir ve bunlardan biri, 49 $ fiyatla ' WooCommerce Order Status Manager ' eklentisidir. WooCommerce Sipariş Durumu Yöneticisi

Bu, mağazanız için pahalı bir çözüm olabilir, ancak bunu yapmanın kolay bir yolu var. WooCommerce'in mevcut sürümünde, sipariş durumları, gönderiler için taslak, planlanmış veya yayınlanmış gibi özel bir gönderi durumu olarak kaydedilir.

Sipariş Durumu Nasıl Gizlenir

Bununla birlikte, bir kod parçacığı kullanarak WooCommerce'de sipariş durumunu nasıl gizleyebileceğinize bakalım. Varsayılan sipariş durumu mesajlarını kontrol etmek için WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin. Ardından, WooCommerce > Siparişler'e tıklayın. Bunu göreceksiniz: sipariş durumu arka uç

Bu mesajlar, bir müşteri sipariş vermeye çalıştığında da ön uçta görüntülenir. Buna, aşağıda gösterildiği gibi Hesabım > Siparişler'e tıklayarak erişilebilir: sipariş durumu ön uç

Temel Sipariş Durumlarını Gizleme Adımları

Temel sipariş durumlarını gizlediğinizde, o durumda hiçbir ürün bulunmadığından emin olun. Ayrıca, WooCommerce mağazanızın bu durumu hiçbir yerde kullanmadığından emin olmalısınız, çünkü bu hatalara yol açabilir. Örneğin, WooCommerce mağazanızda geri ödeme yapmayı planlamıyorsanız, Geri Ödeme durumunu gizleyebilirsiniz.

Tüm temel sipariş durumlarını kaldıramamamızın nedeni, eklentilerin, iş akışınızda kullanmadıklarınız bile sipariş durumlarını kullanmasıdır. Ödeme ağ geçitleri gibi eklentiler, her zaman temel sipariş durumlarının mevcut olduğunu varsayar. Orada değilseler, kırılırlar.

İş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 Düzenleyici sayfası açıldığında, WooCommerce mağazanızdaki temel sipariş durumlarını gizleme işlevi eklemek için tema işlevleri dosyasını arayın.
  3. Functions.php dosyasına aşağıdaki kodu ekleyin:
 /*

 * Çekirdek sipariş durumlarını kaldırma

 * @param dizisi $wc_statuses_arr Web sitesindeki tüm sipariş durumlarının dizisi

 */

function njengah_remove_order_statuses( $wc_statuses_arr ){

            // İşleme

            if( isset( $wc_statuses_arr['wc-processing'] ) ) { // varsa

                        unset( $wc_statuses_arr['wc-processing'] ); // diziden kaldır

            }

            // Geri ödeme yapıldı

            if( isset( $wc_statuses_arr['wc-iadesi'] ){

                        unset( $wc_statuses_arr['wc-iadeli'] );

            }

            // Beklemede

            if( isset( $wc_statuses_arr['wc-on-hold'] ) ){

                        unset( $wc_statuses_arr['wc-beklemede'] );

            }

            // Başarısız oldu

            if( isset( $wc_statuses_arr['wc-failed'] ) ){

                        unset( $wc_statuses_arr['wc-başarısız'] );

            }

            // Bekleyen ödeme

            if( isset( $wc_statuses_arr['wc-beklemede'] ) ){

                        unset( $wc_statuses_arr['wc-beklemede'] );

            }

            // Tamamlanmış

            //if( isset( $wc_statuses_arr['wc-completed'] ) ){

            // unset( $wc_statuses_arr['wc-tamamlandı'] );

            //}

            // İptal edildi

            //if( isset( $wc_statuses_arr['wc-cancelled'] ) ){

            // unset( $wc_statuses_arr['wc-iptal edildi'] );

            //}

            $wc_statuses_arr döndür; // sonuç durumlarını döndür

}

add_filter('wc_order_statuses', 'njengah_remove_order_statuses');
  1. Bu, ön uçtaki sonuçtur: sipariş durumlarını gizle
  2. Özel bir sipariş durumu eklemek için function.php dosyasına aşağıdaki kodu ekleyin:
 /**

* "wc-njengah-shipment" kimliği ve "Sevkiyat bekleniyor" etiketi ile yeni durumu kaydedin

*/

function njengah_register_awaiting_shipment_status() {
register_post_status('wc-njengah-sevkiyat', dizi(

'label' => 'Sevkiyat bekleniyor',

'genel' => doğru,

'show_in_admin_status_list' => true, // sayımı Tümünü göster (12) , Tamamlandı (9) , Gönderi bekleniyor (2) ...

'label_count' => _n_noop( 'Sevkiyat bekleniyor <span class="count">(%s)</span>', 'Sevkiyat bekleniyor <span class="count">(%s)</span>' )

) );
}

add_action('init', 'njengah_register_awaiting_shipment_status');

/*

* WC Sipariş durumları listesine kayıtlı durum ekleyin

* @param dizisi $wc_statuses_arr Web sitesindeki tüm sipariş durumlarının dizisi

*/

function njengah_add_status( $wc_statuses_arr ) {
$new_statuses_arr = dizi();

// işlendikten sonra yeni sipariş durumu ekle

foreach ( $wc_statuses_arr as $id => $etiket ) {

$new_statuses_arr[ $id ] = $etiket;

if ( 'wc-completed' === $id ) { // "Tamamlandı" durumundan sonra

$new_statuses_arr['wc-njengah-shipment'] = 'Sevkiyat bekleniyor';

}

}
$new_statuses_arr döndür;

// sipariş durumu sırası sizin için önemli değilse 21-32. satırları kaldırabilir ve aşağıdaki 35-36'yı kaldırabilirsiniz

// $wc_statuses_arr['wc-njengah-shipment'] = 'Sevkiyat bekleniyor';

// $wc_statuses_arr döndür;
}

add_filter('wc_order_statuses', 'njengah_add_status');
  1. Bu sonuç: özel sipariş durumu ekle

Çözüm

Bu gönderide, temel sipariş durumlarını nasıl gizleyebileceğinizi gördünüz. Ancak, silmek istediğiniz sipariş durumunun mağazanızın hiçbir yerinde kullanılmadığını unutmayın çünkü hatalara yol açabilir. Ayrıca özel sipariş durumunun nasıl ekleneceğini de paylaştım. Kodu işlemeye aşina değilseniz, lütfen kalifiye bir WordPress geliştiricisi ile iletişime geçin.

Benzer Makaleler