2016-05-23 20 views
1

Ich bin ein bisschen neu in WordPress und hätte gerne etwas beraten. Ich versuche, der Karte ein optionales Feld hinzuzufügen, das die Kartensumme rundet. Ich mag, dass es rund um die Karte insgesamt tat, wenn es nicht ist .. geprüft Das ist also mein current situation und ich verwenden, um diesen Code dafür:Aktualisieren Warenkorb-Summen nach dem Ankreuzen eines Kontrollkästchens (woocommerce - wordpress)

@ functios.php

function woo_add_cart_fee() { 

    global $woocommerce; 

    $totalprice = floatval(preg_replace('#[^\d.]#', '', $woocommerce->cart->get_cart_total())); 
    $rounded = ceil($totalprice); 
    $donation = $rounded-$totalprice; 
    $woocommerce->cart->add_fee(__('Donatie', 'woocommerce'),$donation); 

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

und dieses @cart -totals.php

<?php foreach (WC()->cart->get_fees() as $fee) : ?> 
    <tr class="fee"> 
     <th><input type="checkbox"><?php echo esc_html($fee->name); ?></th> 
     <td data-title="<?php echo esc_html($fee->name); ?>"><?php wc_cart_totals_fee_html($fee); ?></td> 
    </tr> 
<?php endforeach; ?> 

So mir wer kann sagen, wo ich eine Funktion hinzufügen kann, wird nur meinen Wagen insgesamt rundet, wenn die Spende Option aktiviert ist?

+0

Versuchen Sie Folgendes: https://sarkware.com/woocommerce-add-donation-box-checkout-page/ – Sark

+0

Ich bin nicht auf der Suche nach einem Plugin, wo Sie eine benutzerdefinierte Spende hinzufügen können .. aber danke für Ihren Vorschlag – Sharif

Antwort

0

Eigentlich verstehe ich nicht ganz, was Sie tun möchten. Aber es klingt notwendig, diesen Satz in Ihrer Option zu haben, um zu überprüfen, dass es überprüft wird.

<input type="checkbox" name="your-option-name" value="1" <?php checked(1, get_option('your-option-name'), true); ?> /> 

Sie können die Definition von Function Reference/checked finden.

Danach fügen Sie den if-Fall hinzu, um zu prüfen, ob es aktiviert ist. Wie unten

// 1 is the value of the checkbox that you defined. 
if(get_option("your-option-name") == 1){ 
    <?php foreach (WC()->cart->get_fees() as $fee) : ?> 
     <tr class="fee"> 
      <th><input type="checkbox"><?php echo esc_html($fee->name); ?></th> 
      <td data-title="<?php echo esc_html($fee->name); ?>"><?php wc_cart_totals_fee_html($fee); ?></td> 
     </tr> 
    <?php endforeach; ?> 
} 

Hier ist der Link, dass ich die Option zuvor eingerichtet. Building Your Own Social Sharing Plugin for WordPress

Ich hoffe, es kann Ihnen helfen.