Taxă suplimentară opțională în WooCommerce Checkout

6 nov. 2013, 19:43:34
Vizualizări: 19.4K
Voturi: 3

Construiesc un magazin bazat pe WooCommerce. Trebuie să adaug un checkbox suplimentar pe pagina de checkout numit Asigurare Transport. Când acest câmp este bifat, trebuie să adaug 3$ suplimentari la Totalul Comenzii. Am reușit să adaug o taxă fixă astfel:

function woo_add_cart_fee() {
  global $woocommerce;
  $woocommerce->cart->add_fee( __('Asigurare Transport', 'woocommerce'), 3 );

}
add_action( 'woocommerce_before_calculate_totals', 'woo_add_cart_fee' );

Problema este că aceasta va adăuga o taxă fixă de 3$ la totalul comenzii, deci nu este opțională. Aveți vreo idee cum să procedez cu această problemă?

0
Toate răspunsurile la întrebare 2
0

Bine, așa am făcut eu.

Creează un produs numit Asigurare de Transport care costă $3, asigură-te că este un produs ascuns (Vizibilitate în Catalog în partea dreaptă)

Folosește următorul cod în fișierul functions.php al temei tale:

add_action('woocommerce_cart_totals_after_shipping', 'wc_shipping_insurance_note_after_cart');
function wc_shipping_insurance_note_after_cart() {
global $woocommerce;
    $product_id = 669;
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
    $_product = $values['data'];
    if ( $_product->id == $product_id )
        $found = true;
    }
    // dacă produsul nu este găsit, adaugă-l
if ( ! $found ):
?>
    <tr class="shipping">
        <th><?php _e( 'Asigurare de Transport', 'woocommerce' ); ?></th>
        <td><a href="<?php echo do_shortcode('[add_to_cart_url id="669"]'); ?>"><?php _e( 'Adaugă asigurare de transport (+$3)' ); ?> </a></td>
    </tr>
<?php else: ?>
    <tr class="shipping">
        <th><?php _e( 'Asigurare de Transport', 'woocommerce' ); ?></th>
        <td>$3</td>
    </tr>
<?php endif;
}

Schimbă variabila $product_id cu ID-ul produsului pe care l-ai creat și când vei fi la finalizarea comenzii, acesta va adăuga pur și simplu acest produs ascuns în coșul tău

5 ian. 2014 17:04:07
0

Acest lucru nu va răspunde complet la întrebarea ta, dar documentația oficială WooCommerce are un exemplu similar cu ceea ce speri să realizezi. În special, ceea ce cauți este o combinație între Lecțiile 1 și 2.

Documentația WooCommerce: Personalizarea câmpurilor de checkout folosind acțiuni și filtre

Sperăm că acest lucru va completa timpul până când cineva va putea oferi un răspuns mai specific.

6 nov. 2013 22:50:18