Come ottenere l'attuale categoria di prodotti WooCommerce

Pubblicato: 2021-05-25

WooCommerce Ottieni la categoria di prodotto corrente In questo post, condivido con te WooCommerce ottenere lo snippet del codice della categoria di prodotto corrente e spiegare come puoi utilizzare questo codice per ottenere la categoria di prodotto corrente.

Se sei uno sviluppatore WooCommerce o stai semplicemente personalizzando WooCommerce come utente normale, la possibilità di ottenere la categoria di prodotti corrente dal database di WooCommerce può aiutarti a creare una varietà di opzioni di visualizzazione per i tuoi prodotti.

Puoi anche ottenere la categoria di prodotto corrente quando desideri creare funzionalità specifiche per l'esperienza del cliente WooCommerce come il reindirizzamento WooCommerce dopo il checkout in base alla categoria corrente .

L'ho dimostrato nel tutorial precedente su come ottenere il nome della categoria del prodotto corrente di WooCommerce.

WooCommerce Ottieni la categoria di prodotto corrente

Innanzitutto, presumo che tu conosca lo sviluppo di WooCommerce e che tu stia solo cercando un rapido frammento di codice per ottenere la categoria di prodotto corrente.

Se sei un principiante assoluto, potresti voler dare un'occhiata alla maggior parte degli oltre 1000 post che ho condiviso prima sullo sviluppo di WooCommerce qui - Tutorial di WooCommerce.

Ora concentriamoci sulle basi per ottenere l'attuale categoria di prodotti WooCommerce. Per prima cosa devi capire che i prodotti WooCommerce sono solo tipi di post personalizzati , dal punto di vista dello sviluppo di WordPress.

Quindi puoi interrogare loro e le categorie di prodotti nello stesso modo in cui creiamo query per i normali post di WordPress.

I prodotti WooCommerce sono tipi di post personalizzati con le categorie come una delle loro tassonomie.

Poiché ora comprendiamo come funzionano le categorie di WooCommerce, utilizzeremo la funzione principale di WordPress get_the_terms() per ottenere la categoria di prodotti WooCommerce corrente dal database.

Ma prima, diamo una rapida panoramica di come funziona la funzione get_the_terms() di WordPress!

Funzione WordPress per ottenere la categoria corrente – get_the_terms ()

Questa funzione è progettata per fornirci semplicemente i termini di una tassonomia che vogliamo e per ottenere ciò che vogliamo dobbiamo assegnare a questa funzione un parametro.

Il modo per ottenere ciò che vogliamo da questa funzione è dargli l'ID del post da cui vogliamo le categorie.

Quindi in un breve riassunto questa funzione, prende in due parametri l'ID o l'oggetto e il nome della tassonomia.

Prima di perderci, permettetemi di condividere una rapida tabella riassuntiva seguita da un semplice esempio per aiutarvi a comprendere il funzionamento di questa funzione!

Parametro Descrizione
$posta Questo è necessario affinché questa funzione funzioni ed è semplicemente l'ID del post o l'oggetto per il quale vogliamo ottenere i dati – in questo caso sarebbe l'ID del post corrente poiché vogliamo ottenere la categoria PRODOTTO ATTUALE di WooCommerce
$ tassonomia Questo è necessario anche per il funzionamento di questa funzione ed è il nome della tassonomia

WooCommerce Ottieni la categoria di prodotto corrente

WooCommerce Ottieni la categoria di prodotto corrente Supponiamo ora di voler ottenere la categoria di prodotto corrente come puoi vedere nell'immagine sopra; abbiamo quello per l'esempio.

Quindi possiamo ottenere l'ID prodotto corrente utilizzando l'oggetto post globale di WordPress $post. Questo restituirà l'ID insieme agli altri dati del post

$post (WP_Post) L'oggetto post per il post corrente. Oggetto descritto in Class Reference/Wp_posts.

Una volta ottenuto l'ID, ora possiamo passare l'ID alla funzione get_the_terms() insieme alla tassonomia e otterremo con successo la categoria di prodotto corrente.

La tassonomia per la categoria di prodotti WooCommerce è – product_cat, quindi ora possiamo passare l'ID prodotto corrente insieme a product_cat per ottenere tutte le categorie associate al prodotto corrente. Quindi possiamo farlo con questo codice:


global $post;

$terms = get_the_terms( $post->ID, 'product_cat' );

$nterms = get_the_terms( $post->ID, 'product_tag'  );

foreach ($terms  as $term  ) {

$product_cat_id = $term->term_id;

$product_cat_name = $term->name;

break;

}

WooCommerce Ottieni la categoria di prodotti corrente passo dopo passo (3 passaggi principali)

Quindi questi sono i passaggi che abbiamo adottato per ottenere l'attuale categoria di prodotto in WooCommerce:

  1. Per prima cosa ottieni l'ID prodotto corrente
  2. Passa l'ID prodotto insieme alla tassonomia product_cat alla funzione get_the_terms() come i due parametri.
  3. Il passaggio 2 restituisce un array con tutti i dettagli. Usiamo foreach loop per scorrere i dati e ottenere il nome della categoria o qualsiasi altro dettaglio che desideriamo della categoria di prodotto corrente.

Ora puoi andare avanti e stampare o utilizzare la categoria in qualsiasi altra logica, come ho indicato nell'esempio di reindirizzamento WooCommerce dopo il checkout in base alla categoria .

Ho aggiunto questo codice a un hook in testa al mio sito di esempio e puoi vedere dall'immagine qui sotto che la categoria è stata visualizzata correttamente: WooCommerce Ottieni la categoria di prodotto corrente

Lo snippet di codice completo che ho aggiunto al tema Storefront personalizzato per visualizzare la categoria nell'intestazione di WordPress come mostrato nell'immagine sopra è il seguente:


add_action('wp_head', 'get_current_product_category');

function get_current_product_category(){

global $post;

$terms = get_the_terms( $post->ID, 'product_cat' );

$nterms = get_the_terms( $post->ID, 'product_tag'  );

foreach ($terms  as $term  ) {

$product_cat_id = $term->term_id;

$product_cat_name = $term->name;

break;

}

echo $product_cat_name;

}

Conclusione

In questo post abbiamo evidenziato il modo passo dopo passo per ottenere la categoria WooCommerce del prodotto corrente. Come hai visto nell'esempio sopra, devi semplicemente conoscere l'ID prodotto corrente e puoi utilizzare la funzione WordPress predefinita per ottenere i termini e scorrere per obiettare alla categoria WooCommerce corrente.

Articoli simili