Kullanıcı Tarafından Satın Alınan Tüm Ürünler Nasıl Görüntülenir – Satın Alma Geçmişi
Yayınlanan: 2020-08-15 Kullanıcı tarafından satın alınan ürünleri görüntülemek veya belirli bir kullanıcı için tüm satın alma geçmişini görüntülemek istiyorsanız, bunu bu gönderide paylaşılan kodu kullanarak yapabilirsiniz. İdeal olarak, tüm müşteri siparişleri veya satın alma geçmişi, WordPress veritabanındaki gönderiler tablosuna kaydedilir - wp_posts
. Bu nedenle, get_post().
bir örnek kullanarak göstereceğim gibi işlev.
Kullanıcı Tarafından Satın Alınan WooCommerce Görüntülü Ürünler
Müşteri tarafından satın alınan ürünleri görüntülemek için ilk adım, müşterinin detaylarını almamız gerekiyor ve mevcut kullanıcının nesnesini döndüren wp_get_current_user()
işlevini kullanabiliriz.
Adım 1: Müşteri Geçmişini Görüntüleme ve Kullanıcı Ayrıntılarını Alma İşlevini Oluşturun
Örneğin, işlev ve mevcut kullanıcı ayrıntılarını aşağıdaki gibi alın:
function njengah_get_customer_purchase_history(){ // Geçerli kullanıcı Nesnesini al $current_user = wp_get_current_user(); // Kullanıcının geçerli olup olmadığını kontrol edin if ( 0 == $current_user->ID ) dönüş; }
wp_get_current_user()
işlevi, kullanıcı nesnesini alır ve alternatif olarak, geçerli kullanıcı kimliğini doğrudan alan get_current_user_id()
gibi bir işlevi kullanabilirsiniz.
2. Adım : Hem Tamamlanan hem de İşlenen Kullanıcı Siparişlerini Alın
Bu adımda get_posts() işlevini kullanmamız ve argümanları ilk adımda elde ettiğimiz kullanıcı kimliği ile geçirmemiz gerekiyor ve bu durumda kullanıcı kimliği $args içinde meta_değer olarak iletilecektir. Böylece get_posts() fonksiyonuna ileteceğimiz argümanlar dizisini oluşturarak başlıyoruz.
// $args dizisi oluştur $args = dizi( 'sayı işaretleri' => -1, 'meta_key' => '_customer_user', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), );
Argümanları oluşturduktan sonra, $args dizisini get_posts() işlevine aşağıdaki gibi bir parametre olarak iletmiyoruz:
$customer_orders = get_posts( $args);
Bir sonraki adıma geçmeden önce 1. ve 2. adımdaki kodu birleştiririz ve birleşik kod aşağıdaki gibi olmalıdır:
function njengah_get_customer_purchase_history(){ // Geçerli kullanıcı Nesnesini al $current_user = wp_get_current_user(); // Kullanıcının geçerli olup olmadığını kontrol edin if ( 0 == $current_user->ID ) dönüş; // $args dizisi oluştur $args = dizi( 'sayı işaretleri' => -1, 'meta_key' => '_customer_user', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), ); // $args'ı get_posts() işlevine iletin $customer_orders = get_posts( $args); }
Bu adımda, bir sonraki adımda ürün kimliklerini almak için döngüye gireceğimiz bir dizi olarak önceki müşterinin tüm satın alma geçmişine sahibiz.
3. Adım : Müşteri Siparişleri ve İade Edilen Ürün Kimlikleri Arasında Döngü Görüntülemeye Hazır
Bu adımda, önceki adımda elde ettiğimiz siparişler arasında dolaşmamız ve ürün kimlikleriyle bir dizi döndürmemiz gerekiyor. Bunu foreach döngüsünü kullanarak aşağıdaki kodu kullanarak yapabiliriz.
// siparişler arasında dolaş ve kimlikleri döndür eğer ( ! $müşteri_siparişleri ) iade edilirse; $product_ids = dizi(); foreach ( $customer_orders as $customer_order ) { $sipariş = wc_get_order( $customer_order->ID ); $items = $sipariş->get_items(); foreach ( $item as $item ) { $product_id = $item->get_product_id(); $product_ids[] = $product_id; } } $product_ids döndür;
Şimdi kodun tamamını aşağıdaki gibi elde etmek için 1. adım, 2. adım ve 3. adımdaki kodu birleştirebiliriz:
function njengah_get_customer_purchase_history(){ // Geçerli kullanıcı Nesnesini al $current_user = wp_get_current_user(); // Kullanıcının geçerli olup olmadığını kontrol edin if ( 0 == $current_user->ID ) dönüş; // $args dizisi oluştur $args = dizi( 'sayı işaretleri' => -1, 'meta_key' => '_customer_user', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), ); // $args'ı get_posts() işlevine iletin $customer_orders = get_posts( $args); // siparişler arasında dolaş ve kimlikleri döndür eğer ( ! $müşteri_siparişleri ) iade edilirse; $product_ids = dizi(); foreach ( $customer_orders as $customer_order ) { $sipariş = wc_get_order( $customer_order->ID ); $items = $sipariş->get_items(); foreach ( $item as $item ) { $product_id = $item->get_product_id(); $product_ids[] = $product_id; } } $product_ids döndür; }
Adım 4 : Fonksiyon Dönüşünün Test Edilmesi
Bu adımda, aşağıdaki gibi print_r() fonksiyonunu kullanarak 3. adımdaki fonksiyondan verilerin görüntülenip görüntülenmediğini kontrol edebiliriz:
print_r(njengah_get_customer_purchase_history());
Tüm adımları doğru bir şekilde takip ettiyseniz data displayini wp_head action hook'a eklediğim aşağıdaki resimde görüldüğü gibi datanın görüntülendiğini görmelisiniz.
Şimdi devam edebilir ve satın alma geçmişini istediğiniz yerde görüntülemek için bu verileri bir kısa kodda veya temanızda veya eklenti geliştirmenizde kullanabilirsiniz.
Çözüm
Bu yazımda adım adım WooCommerce'de kullanıcı tarafından satın alınan ürünün nasıl görüntüleneceğini anlattım. Bu kodun ideal kullanımı, mevcut sipariş ürünlerini önceden sipariş edilen ürünlerle karşılaştırmak istediğiniz herhangi bir mantıkta olabilir. Çoğu pratik uygulamada, indirimlerin önceki siparişlere veya çapraz satışlara ve yukarı satışlara dayalı olarak tahsis edilmesini içerir.
Benzer Makaleler
- WordPress Sayfası Yenilendiğinde Nasıl Yönlendirilir » Sayfa Yenileme PHP'yi Algıla
- Pratik Bir Örnekle WordPress'te Slug ile Posta Kimliği Nasıl Alınır
- WooCommerce'de Mevcut Ürün Kategori Adı Nasıl Alınır
- WordPress'te Oturum Açma Kullanıcı Bilgileri Nasıl Alınır
- WooCommerce'de Bir Ürün Nasıl Gizlenir veya Ürünleri Kategoriye veya Rollere Göre Gizlenir
- WordPress'te Oturum Açmamışsa Kullanıcı Nasıl Yönlendirilir » Sayfa Yönlendirme
- WordPress Yönetici Menü Öğelerini Eklenti Olmadan Programlı Olarak Kaldırma
- WooCommerce Müşterileri veya Kullanıcı Rolleri Tarafından Yönetici Çubuğu Nasıl Gizlenir
- Eklenti Kullanmadan WordPress'te Numara Sayfalandırma Nasıl Oluşturulur
- WooCommerce'de Mağazaya Dönüş Bağlantısı Nasıl Değiştirilir
- WooCommerce Onaysız Oturumu Kapatma : “Oturumu kapatmak istediğinizden emin misiniz?” Nasıl Kaldırılır?
- WordPress ve Görüntü Rolleri'nde Mevcut Kullanıcı Rolü Nasıl Alınır
- Eklentiler Olmadan Bir WordPress Sayfası Nasıl Yönlendirilir?
- WordPress'te Eklentinin Etkin Olup Olmadığı Nasıl Kontrol Edilir [ 3 YOL ]
- WordPress'e Kenar Çubuğu Nasıl Eklenir » Adım Adım Nihai Kılavuz
- Bir Eklenti Kullanmadan WordPress'te Başarılı Giriş Yaptıktan Sonra Kullanıcılar Nasıl Yönlendirilir
- WordPress Temasında Kenar Çubuğu Nasıl Kaydedilir » Adım Adım [ Başlık Widget Örneği ]
- WooCommerce'de Giriş Yaptıktan Sonra Sepete Nasıl Yönlendirilirsiniz?
- Kullanıcının WordPress'te Oturum Açtığını Kontrol Etme
- WooCommerce'de Stok Durumu Metni Nasıl Görüntülenir » Stokta ve Yok