Visualizzazione dei prodotti dalle categorie in WooCommerce
Voglio visualizzare le miniature di più categorie in una pagina, ma sto avendo difficoltà ad accedere alle categorie poiché risultano vuote. C'è qualcosa di sbagliato nel mio codice?
$args = array(
'post_type' => 'product', // Specifica che vogliamo i prodotti
'posts_per_page' => '12',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'travel'
)
),
'orderby' => 'title'
);
print_r($args); // Stampa gli argomenti della query
$query = new WP_Query( $args );
if( $query->have_posts()) : while( $query->have_posts() ) : $query->the_post();
print_r($args); // Stampa gli argomenti della query
// Per visualizzare la miniatura usa:
// the_post_thumbnail();
endwhile;
endif;

Stai passando chiavi di array errate a $args
. Fai qualcosa come questo:
$args = array(
'posts_per_page' => '12',
'product_cat' => 'lead-generation',
'post_type' => 'product',
'orderby' => 'title',
);
$query = new WP_Query( $args );
if( $query->have_posts()) : while( $query->have_posts() ) : $query->the_post();
the_post_thumbnail('full');
// voglio mostrare la miniatura
endwhile;
endif;
Non esiste una chiave per_page
, usa invece posts_per_page
.
Lo slug della tassonomia delle categorie di Woocommerce è 'product_cat'. 'category_name' è per i post normali. Devi specificare il tipo di post di woocommerce, in questo caso è product
.

non viene visualizzato o restituito alcun output. Se faccio print_r($args)
l'array restituisce lo stesso codice mostrato sopra.

hai cambiato la categoria del prodotto con il tuo slug di categoria? E se fai print_r($args) l'array restituirà sempre le stesse chiavi e valori dell'array.

come faccio a sapere quali parametri inserire in args, devo guardare nel database? tipo product_cat

Assolutamente no. Prova a cercarlo su Google, ti porterà al link.

Per il filtro di prodotti con 3 prodotti e con il titolo in evidenza:
$args = array(
'post_type' => 'product', // Tipo di post: prodotto
'posts_per_page' => 3, // Numero di prodotti da visualizzare
'product_cat' => 'Featured', // Categoria del prodotto: in evidenza
'order_by' => 'title', // Ordina per titolo
);
