WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce Afficher prix min de toutes les variations et prix min d’un attribut

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #168075
    RICARDO
    Participant
    Points: 19 pts

    Bonjour à tous,

    Je suis en train de créer un site marchand sur WooCommerce.

    Je vends des produits en location ET en achat comptant.

    Mes produits sont variables et ont plusieurs attributs: dimensions, couleurs, finitions, type d’achat (location 36 mois, location 60 mois, achat comptant).

    Dans le Front de ma boutique et dans mes pages produits, dans la partie prix, je souhaite pouvoir afficher: « à partir de xx€/mois ou xx€ en achat comptant ».

    J’ai réussi à avoir le résultat recherché seulement pour la 1ère partie, « à partir de xx€/mois », qui correspond au plus faible prix en location 60 mois.

    Pour la 2ème partie, j’arrive grâce à un bout de code récupéré et modifié à afficher le prix max de la variation la plus chère. Mais je souhaite afficher le prix minimum de la variation ayant comme attribut « achat comptant » la moins chère.

    Existe t’il une écriture permettant d’afficher le prix minimum d’un attribut spécifique et non de toutes les variations possibles?

    Ci-dessous le code que j’utilise actuellement.

    Merci infiniment.

    /* Afficher "À partir de" pour les produits variables */
    add_filter( 'woocommerce_variable_sale_price_html', 'wpm_variation_price_format', 10, 2 );
    add_filter( 'woocommerce_variable_price_html', 'wpm_variation_price_format', 10, 2 );
    
    function wpm_variation_price_format( $price, $product ) {
    //On récupère le prix min et max du produit variable
    $min_price = $product->get_variation_price( 'min', true );
    $max_price = $product->get_variation_price( 'max', $achat_comptant = true );
    
    // Si les prix sont différents on affiche "À partir de ..."
    if ($min_price != $max_price){
    $price = sprintf( __( 'A partir de %1$s /mois ou %2$s', 'woocommerce' ), wc_price( $min_price ), wc_price( $max_price) );
    return $price;
    // Sinon on affiche juste le prix
    } else {
    $price = sprintf( __( 'A partir de %1$s /mois', 'woocommerce' ), wc_price( $min_price ) );
    return $price;
    }
    }

    From Tangrer

    ====================
    depanagewp
    vpsa2
Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.