Cara Menampilkan Semua Produk yang Dibeli Pengguna – Riwayat Pembelian
Diterbitkan: 2020-08-15 Jika Anda ingin menampilkan produk yang dibeli oleh pengguna atau menampilkan semua riwayat pembelian untuk pengguna tertentu, Anda dapat melakukannya menggunakan kode yang dibagikan di pos ini. Idealnya, semua pesanan pelanggan atau riwayat pembelian disimpan ke tabel posting di database WordPress – wp_posts
. Oleh karena itu Anda bisa mendapatkan data dari tabel database menggunakan get_post().
fungsi seperti yang akan saya ilustrasikan menggunakan contoh.
Produk Tampilan WooCommerce Dibeli Oleh Pengguna
Langkah pertama untuk menampilkan produk yang dibeli oleh pelanggan, kita perlu mendapatkan detail pelanggan dan kita dapat menggunakan fungsi wp_get_current_user()
yang mengembalikan objek pengguna saat ini.
Langkah 1: Buat Fungsi untuk Menampilkan Riwayat Pelanggan & Dapatkan Detail Pengguna
Misalnya fungsi dan dapatkan detail pengguna saat ini sebagai berikut:
fungsi njengah_get_customer_purchase_history(){ // Dapatkan Objek pengguna saat ini $current_user = wp_get_current_user(); // Periksa apakah pengguna valid if ( 0 == $current_user->ID ) kembali; }
Fungsi wp_get_current_user()
mengambil objek pengguna dan Anda juga dapat menggunakan fungsi seperti get_current_user_id()
yang secara langsung mengambil ID pengguna saat ini .
Langkah 2: Dapatkan Pesanan Pengguna Selesai dan Diproses
Pada langkah ini kita perlu menggunakan fungsi get_posts() dan meneruskan args dengan ID pengguna yang kita peroleh pada langkah pertama dan dalam hal ini id pengguna akan diteruskan sebagai meta_value dalam $args . Jadi kita mulai dengan membuat array argumen yang akan kita berikan ke fungsi get_posts().
//Buat array $args $args = array( 'numberposts' => -1, 'meta_key' => '_pelanggan_pengguna', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), );
Setelah membuat argumen, kami tidak meneruskan array $args ke fungsi get_posts() sebagai parameter sebagai berikut:
$customer_orders = get_posts( $args);
Sebelum kita pindah ke langkah selanjutnya kita gabungkan kode pada langkah 1 dan langkah 2 dan kode gabungan harus sebagai berikut :
fungsi njengah_get_customer_purchase_history(){ // Dapatkan Objek pengguna saat ini $current_user = wp_get_current_user(); // Periksa apakah pengguna valid if ( 0 == $current_user->ID ) kembali; //Buat array $args $args = array( 'numberposts' => -1, 'meta_key' => '_pelanggan_pengguna', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), ); // Berikan fungsi $args ke get_posts() $customer_orders = get_posts( $args); }
Pada langkah ini, kita sekarang telah mendapatkan semua riwayat pembelian pelanggan sebelumnya sebagai larik yang akan kita ulangi untuk mendapatkan ID produk di langkah berikutnya.
Langkah 3: Ulangi Pesanan Pelanggan & Kembalikan ID Produk Siap Ditampilkan
Pada langkah ini kita perlu mengulang pesanan yang kita peroleh pada langkah sebelumnya dan mengembalikan array dengan ID produk. Kita dapat melakukannya dengan menggunakan kode berikut menggunakan foreach loop.
// mengulang perintah dan mengembalikan ID jika ( ! $customer_orders ) kembali; $produk_id = array(); foreach ( $customer_orders sebagai $customer_order ) { $pesanan = wc_get_order( $customer_order->ID ); $item = $order->get_items(); foreach ( $items sebagai $item ) { $produk_id = $barang->get_produk_id(); $produk_id[] = $id_produk; } } kembalikan $produk_id;
Kita sekarang dapat menggabungkan kode pada langkah 1, langkah 2 dan langkah 3 untuk memiliki kode lengkap sebagai berikut:
fungsi njengah_get_customer_purchase_history(){ // Dapatkan Objek pengguna saat ini $current_user = wp_get_current_user(); // Periksa apakah pengguna valid if ( 0 == $current_user->ID ) kembali; //Buat array $args $args = array( 'numberposts' => -1, 'meta_key' => '_pelanggan_pengguna', 'meta_value' => $current_user->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys( wc_get_is_paid_statuses() ), ); // Berikan fungsi $args ke get_posts() $customer_orders = get_posts( $args); // mengulang perintah dan mengembalikan ID jika ( ! $customer_orders ) kembali; $produk_id = array(); foreach ( $customer_orders sebagai $customer_order ) { $pesanan = wc_get_order( $customer_order->ID ); $item = $order->get_items(); foreach ( $items sebagai $item ) { $produk_id = $barang->get_produk_id(); $produk_id[] = $id_produk; } } kembalikan $produk_id; }
Langkah 4: Menguji Pengembalian Fungsi
Pada langkah ini kita dapat memeriksa untuk melihat apakah data ditampilkan dari fungsi pada langkah 3 menggunakan fungsi print_r() sebagai berikut:
print_r(njengah_get_customer_purchase_history());
Jika Anda mengikuti semua langkah dengan cara yang benar, Anda akan melihat data yang ditampilkan seperti yang terlihat pada gambar di bawah ini di mana saya telah menambahkan tampilan data ke wp_head action hook .
Anda sekarang dapat melanjutkan dan menggunakan data ini dalam kode pendek atau dalam pengembangan tema atau plugin Anda untuk menampilkan riwayat pembelian di mana pun Anda inginkan.
Kesimpulan
Dalam posting ini saya telah menjelaskan cara menampilkan produk yang dibeli oleh pengguna di WooCommerce secara bertahap. Penggunaan ideal kode ini dapat dalam logika apa pun di mana Anda ingin membandingkan produk pesanan saat ini dengan produk yang dipesan sebelumnya. Dalam sebagian besar aplikasi praktis termasuk alokasi diskon berdasarkan pesanan sebelumnya atau penjualan silang dan penjualan naik.
Artikel Serupa
- Cara Redirect Saat Refresh Halaman WordPress » Deteksi Halaman Refresh PHP
- Cara Mendapatkan Post ID by Slug di WordPress Dengan Contoh Praktis
- Cara Mendapatkan Nama Kategori Produk Saat Ini di WooCommerce
- Cara Mendapatkan Informasi Pengguna yang Masuk di WordPress
- Cara Menyembunyikan Produk di WooCommerce atau Menyembunyikan Produk berdasarkan Kategori atau Peran
- Cara Mengarahkan Pengguna Jika Tidak Masuk di WordPress »Pengalihan Halaman
- Cara Menghapus Item Menu Admin WordPress Secara Terprogram Tanpa Plugin
- Cara Menyembunyikan Bilah Admin untuk Pelanggan WooCommerce atau Berdasarkan Peran Pengguna
- Cara Membuat Nomor Pagination di WordPress Tanpa Menggunakan Plugin
- Cara Mengubah Tautan Kembali ke Toko di Woocommerce
- WooCommerce Logout tanpa Konfirmasi : Cara Menghapus “Apakah Anda yakin ingin keluar?”
- Cara Mendapatkan Peran Pengguna Saat Ini di WordPress & Peran Tampilan
- Bagaimana Cara Mengarahkan Halaman WordPress Tanpa Plugin?
- Cara Memeriksa Apakah Plugin Aktif Di WordPress [ 3 CARA ]
- Cara Menambahkan Bilah Sisi ke WordPress »Panduan Langkah demi Langkah Utama
- Cara Mengarahkan Pengguna setelah Login Berhasil di WordPress tanpa Menggunakan Plugin
- Cara Mendaftarkan Sidebar di Tema WordPress » Langkah demi Langkah [ Contoh Header Widget ]
- Cara Redirect ke Keranjang setelah Login di WooCommerce
- Cara Memeriksa apakah Pengguna Masuk di WordPress
- Cara Menampilkan Teks Ketersediaan Stok di WooCommerce »In Stock & Out