Afișarea produselor din categorii în WooCommerce
Vreau să afișez miniaturile mai multor categorii pe o pagină, dar am dificultăți în accesarea categoriilor deoarece rezultatul este gol. Este ceva în neregulă cu codul meu?
$args = array(
'post_type' => 'product', // Trebuie specificat tipul de postare ca 'product'
'posts_per_page' => '12',
'product_cat' => 'travel', // Folosește 'product_cat' în loc de 'category_name'
'orderby' => 'title'
);
print_r($args); // nimic nu este afișat, ca și categoriile
$query = new WP_Query( $args );
if( $query->have_posts()) : while( $query->have_posts() ) : $query->the_post();
print_r($args); // nimic nu este afișat, ca și categoriile
// vreau să afișez miniatura
endwhile;
endif;

Transmiteți chei de array incorecte către $args
. Faceți ceva de genul acesta:
$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');
//doresc să afișez thumbnail-ul
endwhile;
endif;
Nu există cheia per_page
, folosiți posts_per_page
în schimb.
Taxonomia de categorii WooCommerce este 'product_cat'. 'category_name' este pentru postări normale. Trebuie să specificați tipul de postare WooCommerce, în acest caz este product
.

nu se afișează sau nu se returnează nimic. dacă fac print_r($args)
array-ul returnează același cod ca cel afișat mai sus.

ai schimbat categoria de produs la slug-ul tău de categorie? și dacă faci print_r($args) array-ul va returna întotdeauna aceleași chei și valori.

cum știu ce parametri să dau în args, mă uit în baza de date? cum ar fi product_cat

Nici o şansă. Încearcă să cauți pe Google, te va duce la link.

Pentru filtrarea produselor cu 3 produse și cu titlul Featured:
$args = array(
'post_type' => 'product', // Tipul postării - produs
'posts_per_page' => 3, // Numărul de produse pe pagină
'product_cat' => 'Featured', // Categoria de produse - Recomandate
'order_by' => 'title', // Ordonează după titlu
);
