Maison > développement back-end > tutoriel php > Comment remplacer la fourchette de prix variable par le prix de variation choisi dans WooCommerce 3 ?

Comment remplacer la fourchette de prix variable par le prix de variation choisi dans WooCommerce 3 ?

DDD
Libérer: 2024-11-15 00:56:02
original
719 Les gens l'ont consulté

How to Replace the Variable Price Range with the Chosen Variation Price in WooCommerce 3?

Remplacement de la fourchette de prix variable par le prix de variation choisi dans WooCommerce 3

Problème :

Sur les produits variables dans WooCommerce, la mise en page standard affiche un prix gamme sous le titre du produit. Cela peut prêter à confusion et induire en erreur les clients qui souhaitent connaître le prix exact du produit avec les variantes sélectionnées.

Solution :

Ce code répond aux problème en supprimant la fourchette de prix et en affichant uniquement le prix du produit le plus bas. De plus, il met à jour le prix affiché en fonction de la variation sélectionnée.

Code:


<br>add_action( 'woocommerce_before_single_product', 'move_variations_single_price', 1 );<br>fonction move_variations_single_price(){</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">global $product, $post;

if ( $product->is_type( 'variable' ) ) {
    // removing the variations price for variable products
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );

    // Change location and inserting back the variations price
    add_action( 'woocommerce_single_product_summary', 'replace_variation_single_price', 10 );
}
Copier après la connexion

}

function replace_variation_single_price(){

global $product;

// Prices and calculations
$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
$price = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

$prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) );
sort( $prices );
$saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

if ( $price !== $saleprice &amp;&amp; $product->is_on_sale() ) {
    $price = '<del>' . $saleprice . $product->get_price_suffix() . '</del> <ins>' . $price . $product->get_price_suffix() . '</ins>';
}

?>
<style>
    div.woocommerce-variation-price,
    div.woocommerce-variation-availability,
    div.hidden-variable-price {
        height: 0px !important;
        overflow:hidden;
        position:relative;
        line-height: 0px !important;
        font-size: 0% !important;
    }
</style>
<script>
jQuery(document).ready(function($) {
    $('select').blur( function(){
        if( '' != $('input.variation_id').val() ){
            if($('p.availability'))
                $('p.availability').remove();
            $('p.price').html($('div.woocommerce-variation-price > span.price').html()).append('<p>
Copier après la connexion

}

< ;h3>Supplémentaire Notes :

  • Ce code est compatible avec les versions 3.2.x et supérieures de WooCommerce.
  • Il est recommandé de déplacer éventuellement le CSS vers la feuille de style de votre thème actif pour une meilleure lisibilité.
  • Le code ne gère pas la compatibilité avec certains plugins ou thèmes qui modifient le crochets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal