Je voudrais afficher 6 produits en vedette de ma boutique woocommerce sur mon modèle home-page.php. Après quelques recherches, j'ai trouvé que la bonne façon de le faire était via une boucle personnalisée, (je ne souhaite pas utiliser de shortcodes parce que je voudrais ajouter des classes supplémentaires pour le style, etc.) J'ai également constaté que la clé que woocommerce utilise pour le les produits en vedette sont «_en vedette». J'ai rassemblé le code ci-dessous pour afficher tous les produits que j'ai choisis pour être présentés dans mon magasin, mais cela ne fonctionne pas ... Toute aide est appréciée.
<?php
$args = array(
'post_type' => 'product',
'stock' => 1,
'showposts' => 6,
'orderby' => 'date',
'order' => 'DESC' ,
'meta_query' => array(
array(
'key' => '_featured',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<li>
<?php
if ( has_post_thumbnail( $loop->post->ID ) )
echo get_the_post_thumbnail( $loop->post->ID, 'shop_catalog' );
else
echo '<img src="' . woocommerce_placeholder_img_src() . '" alt="Placeholder" width="65px" height="115px" />';
?>
<h3><?php the_title(); ?></h3>
<?php
echo $product->get_price_html();
woocommerce_template_loop_add_to_cart( $loop->post, $product );
?>
</li>
<?php
endwhile;
wp_reset_query();
?>
var_dump( get_meta_values( '_featured', 'product' );
endroit où la fonctionget_meta_values
est prise en charge par la fonction personnalisée expliquée dans cette réponse