web-dev-qa-db-fra.com

Affichez les produits en vedette via une boucle personnalisée dans WooCommerce 3

Je me demandais si quelqu'un pouvait m'aider. J'essaie d'afficher les produits en vedette à l'aide d'une boucle personnalisée. Avant WooCommerce 3, j'utilisais la boucle suivante qui fonctionnait parfaitement:

<?php

$args = [  
    'post_type' => 'product',  
    'meta_key' => '_featured',  
    'meta_value' => 'yes',  
    'posts_per_page' => 6  
];  

$featured_query = new WP_Query( $args );  

if ($featured_query->have_posts()) :   

    while ($featured_query->have_posts()) :   

        $featured_query->the_post();  

        $product = get_product( $featured_query->post->ID );  

        // here is my output 

    endwhile;  

endif;  

wp_reset_query();

?>

Depuis la mise à jour de WooCommerce 3, la méta_key _featured n'existe plus. J'ai découvert que les produits présentés utilisaient la nouvelle taxonomie product_visibility au lieu de meta. Malheureusement, je ne sais pas comment changer ma boucle pour sortir les produits présentés maintenant. Je veux utiliser des styles personnalisés, donc je ne veux pas utiliser de shortcode. Quelqu'un peut-il m'aider?

2
Christoph

J'ai le même problème. Essaye ça ! Travaille pour moi

<?php
     $featured_query = new WP_Query( array(
         'tax_query' => array(
                 array(
                     'taxonomy' => 'product_visibility',
                     'field'    => 'name',
                     'terms'    => 'featured',
                     'operator' => 'IN'
                 ),
          ),
     ) );
?>
8
Scorman