Comment désactiver l’affichage aléatoire des produits similaires sous WooCommerce ?

Par défaut, la page produit de WooCommerce comporte une section « Produits similaires ». Vous y trouverez des produits qui sont liés au produit actuel, sur la base des catégories de produits et des étiquettes de produits en commun.

Tout va bien jusqu’à présent, mais nous devons faire quelques remarques supplémentaires : lorsque WooCommerce « calcule » la liste des produits apparentés (similaires), il recherche 15 d’entre eux (sauf indication contraire via un code personnalisé). Ensuite, il les mélange. Enfin, il vous donne les 5 premiers d’entre eux (sauf indication contraire via un code personnalisé). A ce stade, ils sont triés par aléatoirement (sauf indication contraire dans le code personnalisé).

C’est parce que WooCommerce veut que les gens voient différents produits apparentés à chaque fois qu’une page de produit est chargée. C’est potentiellement une bonne chose, mais cela peut aussi devenir compliqué lorsque, en tant que propriétaire de la boutique, vous voulez diriger les gens vers les mêmes produits apparentés encore et encore (c’est-à-dire toujours montrer le même ensemble de produits apparentés).

Pour ce faire, nous devons procéder à deux changements : désactiver le mélange et désactiver le tri aléatoire. De cette façon, vous devriez être en mesure d’afficher les mêmes produits apparentés à tous les clients. Voyons comment faire cela !

Comment pouvons-nous renvoyer ces 3 mêmes produits similaires à chaque fois que la page produit de WooCommerce est rechargée ?

Vous devez utiliser les deux snippets PHP : le premier désactive le mélange des 15 produits apparentés calculés. De cette manière, lorsque WooCommerce obtient les 5 premiers produits apparentés parmi ces 15, ils seront toujours les mêmes. Le second snippet trie ces 5 produits de manière non aléatoire, de sorte que le résultat soit toujours le même.

add_filter( 'woocommerce_product_related_posts_shuffle', '__return_false' );Langage du code : JavaScript (javascript)
add_filter( 'woocommerce_output_related_products_args', 'wootimeo_sort_related_products' );
 
function wootimeo_sort_related_products( $args ) {
   $args['orderby'] = 'id';
   return $args;
}Langage du code : PHP (php)

Remarque : au lieu de ‘id’, vous pouvez également utiliser ‘title’, ‘date’, ‘modified’, ‘menu_order’ ou ‘price’, voir wc_products_array_orderby().

Laisser un commentaire

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