NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Produits Woocommerce classés par ventes / Plugin
Intermédiaire
Hébergement Web Canada

Publié le : 28 mars 2017 - Modifié le : 17 janvier 2022

Temps de lecture : 1 minute, 30 seconds - 176 mots

Produits Woocommerce : Dans ce tutoriel, nous allons créer un fonction, qui par exemple dans un plugin WordPress, va afficher les produits Woocommerce classés meilleurs vendeurs. Dans cette requête, nous allons mettre des arguments requêtant le post type de Woocommerce “product” et y effectuer une meta query de la key “total_sales”

On y incrémente $i, qui va permettre dans la boucle, d’afficher le numéro de classement de chaque résultat à compter de 1. On n’oublie pas d’y ajouter la variable Woocommerce global $product dans la boucle, qui va donner les résultat produits.

On imagine bien sur que nous souhaitons afficher les produits Woocommerce classés par ventes en donnant la condition meta query que la key “total_sales” soit supérieur à 0.

Nous avons aussi poser une condition qui dit que si if ($units_sold > 1), alors on met le mot au pluriel, sinon c’est singulier.

Voici donc le code a inserer dans votre Plugin WordPress.

<?php 
$i = 1; $args = array( 
'post_type'       => 'product',
'meta_key'        => 'total_sales',
'orderby'         => 'meta_value_num',
'posts_per_page'  => 25,
'meta_query'      => array(
  array(
    'key'      => 'total_sales',
    'value'    => 0,
    'compare'  => '>'
    )
  )
);

$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); 
?>
<h3>
<a id="<?php the_id(); ?>" style="text-decoration: none;" title="<?php the_title(); ?>" href="<?php the_permalink(); ?>" target="_blank" rel="noopener">
     <?php echo $i; ?><?php the_title(); ?>
</a>
</h3>
<?php $i++; endwhile; ?>
<?php wp_reset_query(); ?>

Vous pouvez donc changer dans cette requête votre html, et le styliser en CSS. Ce CSS est vraiment basic en lien.

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>