WooCommerce & les produits variables : affichage du prix

Salut,

Aujourd’hui nous allons voir une petite astuce pour afficher le prix d’un produit variable de WooCommerce sous la forme utilisée jusqu’à la version 2.0, à savoir « à partir de… ».

Depuis sa récente version 2.1, WooCommerce affiche désormais les prix d’un produit variable en tenant compte du moins cher et du plus cher, séparés par un tiret. Auparavant WooCommerce se contentait d’afficher le plus petit prix, avec un « à partir de… ».

Affichage WooCommerce depuis version 2.1Affichage WooCommerce jusqu'à version 2.0

Récemment j’ai été confronté, pour un client, à cette problématique. Il m’a demandé de revenir à l’affichage type « WooCommerce 2.0 ».

Si vous souhaitez afficher les prix de vos produits variables comme le faisait WooCommerce 2.0, il suffit d’ajouter ces quelques lignes de code au sein du fichier functions.php de votre thème, ou mieux, de votre thème enfant si vous en possédez un.

// Utiliser les variables pour le format des prix WC 2.0
add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
$min_price = $product->get_variation_price( 'min', true );
$max_price = $product->get_variation_price( 'max', true );
if ($min_price != $max_price){
$price = sprintf( __( 'A partir de %1$s', 'woocommerce' ), wc_price( $min_price ) );
return $price;
} else {
$price = sprintf( __( '%1$s', 'woocommerce' ), wc_price( $min_price ) );
return $price;
}
}

 

C’est rapide et efficace.

Source

11 réponses
  1. kevin
    kevin dit :

    Merci pour cette info.

    C’est vrai que cette nouvelle présentation n’est pas top.

    J’ai deux questions :

    1 – comment faire pour que le texte a partir puisse être traduit dans les fichier .po pour les site multi langue ?

    2 – est il possible d’avoir à la place de à partir prix min à prix maxi ex 10€ à 15€

  2. Bennett
    Bennett dit :

    Bonjour
    J’ai précisément la réponse à mon problème qui était d’afficher « à partir de » sous chaque produit.
    Le soucis, c’est qu’en recopiant vos lignes de codes dans le fichier functions.php de mon thème (Myslide) ca m’a planté mon site. Visiblement, la moindre modif de ligne de code sur ce fichier créée un bug.
    Il y a t’il un endroit précis où recopier ces lignes de codes ou une autre astuce ?
    Merci

  3. Juridys
    Juridys dit :

    Bonjour,

    Merci bcp pour la fonction, ça fonctionne parfaitement !

    Cependant je suis confronté au même problème que Kevin : Comment faire pour que le texte soit traduit avec les fichiers de langues ?

    Merci d’avance pour votre aide.

    Cordialement,

    Fabien

  4. Daniel
    Daniel dit :

    Bonjour,
    Bizzarement je reçois :
    Fatal error: Call to undefined method WC_Product_Variable::get_variation_price() in /var/www/vhosts/digiprocess.fr/httpdocs/dpwp/wp-content/themes/wootique/functions.php on line 47

    Une idée ?

  5. Damien
    Damien dit :

    Hello !

    Depuis la mise à jour 3.0, ce hack ne fonctionne plus. Possibilité de le refaire en fonction de la dernière mise à jour ?

    Grand merci !

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

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