Come visualizzare tutti i prodotti acquistati dall'utente – Cronologia acquisti
Pubblicato: 2020-08-15 Se desideri visualizzare i prodotti acquistati dall'utente o visualizzare tutta la cronologia degli acquisti per un utente specifico, puoi farlo utilizzando il codice condiviso in questo post. Idealmente, tutti gli ordini dei clienti o la cronologia degli acquisti vengono salvati nella tabella dei post nel database di WordPress: wp_posts
. È quindi possibile ottenere i dati dalla tabella del database utilizzando get_post().
funzione come illustrerò usando un esempio.
Prodotti di visualizzazione WooCommerce acquistati dall'utente
Il primo passo per visualizzare i prodotti acquistati dal cliente, dobbiamo ottenere i dettagli del cliente e possiamo utilizzare la funzione wp_get_current_user()
che restituisce l'oggetto dell'utente corrente.
Passaggio 1: crea la funzione per visualizzare la cronologia dei clienti e ottenere i dettagli dell'utente
Ad esempio la funzione e ottenere i dettagli dell'utente corrente come segue:
funzione njengah_get_customer_purchase_history(){ // Ottieni l'oggetto utente corrente $utente_corrente = wp_get_utente_corrente(); // Controlla se l'utente è valido if ( 0 == $utente_corrente->ID ) restituisce; }
La funzione wp_get_current_user()
recupera l'oggetto utente e in alternativa puoi usare una funzione come get_current_user_id()
che recupera direttamente l' ID utente corrente .
Passaggio 2: ottieni gli ordini degli utenti sia completati che in elaborazione
In questo passaggio dobbiamo usare la funzione get_posts() e passare gli args con l'ID utente che abbiamo ottenuto nel primo passaggio e in questo caso l'id utente verrà passato come meta_value nel $args . Quindi iniziamo creando l'array di argomenti che passeremo alla funzione get_posts().
//Crea $args array $args = array( 'numeri' => -1, 'meta_key' => '_cliente_utente', 'meta_value' => $utente_corrente->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys(wc_get_is_paid_statuses() ), );
Dopo aver creato gli argomenti non passiamo l'array $args alla funzione get_posts() come parametro come segue:
$ ordini_clienti = get_posts($args);
Prima di passare al passaggio successivo, combiniamo il codice nel passaggio 1 e nel passaggio 2 e il codice combinato dovrebbe essere il seguente:
funzione njengah_get_customer_purchase_history(){ // Ottieni l'oggetto utente corrente $utente_corrente = wp_get_utente_corrente(); // Controlla se l'utente è valido if ( 0 == $utente_corrente->ID ) restituisce; //Crea $args array $args = array( 'numeri' => -1, 'meta_key' => '_cliente_utente', 'meta_value' => $utente_corrente->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys(wc_get_is_paid_statuses() ), ); // Passa la funzione $args a get_posts() $ ordini_clienti = get_posts($args); }
In questo passaggio abbiamo ora tutta la cronologia degli acquisti del cliente precedente come un array che andremo a scorrere per ottenere gli ID dei prodotti nel passaggio successivo.
Passaggio 3: scorrere gli ordini dei clienti e restituire gli ID dei prodotti pronti per la visualizzazione
In questo passaggio dobbiamo scorrere gli ordini ottenuti nel passaggio precedente e restituire un array con gli ID prodotto. Possiamo farlo usando il codice seguente usando foreach loop.
// scorre gli ordini e restituisce gli ID if ( ! $customer_orders ) ritorna; $ID_prodotto = array(); foreach ( $customer_orders as $customer_order ) { $ordine = wc_get_ordine($ordine_cliente->ID); $items = $ordine->get_items(); foreach ( $ articoli come $ articolo ) { $id_prodotto = $elemento->get_id_prodotto(); $ID_prodotto[] = $id_prodotto; } } restituisce $ID_prodotto;
Ora possiamo combinare il codice nel passaggio 1, passaggio 2 e passaggio 3 per avere il codice completo come segue:
funzione njengah_get_customer_purchase_history(){ // Ottieni l'oggetto utente corrente $utente_corrente = wp_get_utente_corrente(); // Controlla se l'utente è valido if ( 0 == $utente_corrente->ID ) restituisce; //Crea $args array $args = array( 'numeri' => -1, 'meta_key' => '_cliente_utente', 'meta_value' => $utente_corrente->ID, 'post_type' => wc_get_order_types(), 'post_status' => array_keys(wc_get_is_paid_statuses() ), ); // Passa la funzione $args a get_posts() $ ordini_clienti = get_posts($args); // scorre gli ordini e restituisce gli ID if ( ! $customer_orders ) ritorna; $ID_prodotto = array(); foreach ( $customer_orders as $customer_order ) { $ordine = wc_get_ordine($ordine_cliente->ID); $items = $ordine->get_items(); foreach ( $ articoli come $ articolo ) { $id_prodotto = $elemento->get_id_prodotto(); $ID_prodotto[] = $id_prodotto; } } restituisce $ID_prodotto; }
Passaggio 4: verifica della funzione di ritorno
In questo passaggio possiamo verificare se i dati vengono visualizzati dalla funzione nel passaggio 3 utilizzando la funzione print_r() come segue:
print_r(njengah_get_customer_purchase_history());
Se hai seguito tutti i passaggi nel modo giusto, dovresti vedere i dati visualizzati come mostrato nell'immagine sottostante in cui ho aggiunto la visualizzazione dei dati all'action hook wp_head .
Ora puoi andare avanti e utilizzare questi dati in uno shortcode o nello sviluppo del tuo tema o plug-in per visualizzare la cronologia degli acquisti ovunque desideri.
Conclusione
In questo post ti ho spiegato passo passo come visualizzare in WooCommerce il prodotto acquistato dall'utente. L'uso ideale di questo codice può essere in qualsiasi logica in cui si voglia confrontare i prodotti dell'ordine corrente con i prodotti ordinati in precedenza. Nella maggior parte delle applicazioni pratiche includono l'assegnazione di sconti in base a ordini precedenti o vendite incrociate e vendite in aumento.
Articoli simili
- Come reindirizzare sull'aggiornamento della pagina di WordPress » Rileva pagina Aggiorna PHP
- Come ottenere l'ID del post da Slug in WordPress con un esempio pratico
- Come ottenere il nome della categoria del prodotto corrente in WooCommerce
- Come ottenere l'accesso alle informazioni dell'utente in WordPress
- Come nascondere un prodotto in WooCommerce o nascondere i prodotti per categoria o ruoli
- Come reindirizzare l'utente se non ha effettuato l'accesso a WordPress » Reindirizzamento della pagina
- Come rimuovere le voci del menu di amministrazione di WordPress in modo programmatico senza plug-in
- Come nascondere la barra di amministrazione per i clienti WooCommerce o per ruoli utente
- Come creare un'impaginazione dei numeri in WordPress senza utilizzare il plug-in
- Come modificare il link Ritorna al negozio in Woocommerce
- Disconnessione da WooCommerce senza conferma: come rimuovere "Sei sicuro di voler uscire?"
- Come ottenere il ruolo utente corrente in WordPress e visualizzare i ruoli
- Come reindirizzare una pagina WordPress senza plugin?
- Come verificare se il plug-in è attivo in WordPress [ 3 MODI ]
- Come aggiungere una barra laterale a WordPress »Guida passo passo definitiva
- Come reindirizzare gli utenti dopo un accesso riuscito in WordPress senza utilizzare un plug-in
- Come registrare una barra laterale nel tema WordPress » Passo dopo passo [Esempio di widget di intestazione]
- Come reindirizzare al carrello dopo aver effettuato l'accesso a WooCommerce
- Come verificare se l'utente ha effettuato l'accesso in WordPress
- Come visualizzare il testo della disponibilità delle azioni in WooCommerce »In Stock & Out