Hallo,
mein Kunde möchte aufgrund einer neuen Förderung ab 2024 im Warenkorb 2 zusätzliche Checkboxen durch welche die Steuer verrechnet wird oder nicht.
Standardmäßig ist "Ja" angeklickt und es wird keine Steuer verrechnet. Wenn der Kunde "Nein" klickt, sollen die üblichen 20% MwSt. verrechnet werden.
Es handelt sich um diese Seite (Menüführung usw. wird noch geändert, sobald alles fertig ist)
http://www.popup-pv.at/onlineshop
Bisher habe ich folgenden Code in der functions.php meines Child-Themes eingefügt. Leider funktioniert er noch nicht. Kann mir jemand damit helfen?
Zusätzlich soll diese Auswahl mit dem Text dann auch auf den Rechnung ausgegeben werden.
PHP
/*Custom Checkbox*/
/*Nur eine Checkbox auswählbar*/
function add_custom_checkbox_script() {
?>
<script type="text/javascript">
jQuery(function($) {
$('#tax_checkbox_yes, #tax_checkbox_no').on('change', function() {
$('#tax_checkbox_yes').not(this).prop('checked', false);
$('#tax_checkbox_no').not(this).prop('checked', false);
});
});
</script>
<?php
}
add_action('woocommerce_after_cart_table', 'add_custom_checkbox_script');
/*Erstellung der Checkboxen*/
function add_custom_checkboxes_in_cart() {
echo '<p>Werden die Tatbestandsvoraussetzungen, (Bestätigung des Käufers/der Käuferin, dass er/sie die Photovoltaikanlage betreibt, es sich um ein begünstigtes Gebäude handelt und die Engpassleistung der Photovoltaikanlage, nicht mehr als 35kW(peak) beträgt oder betragen wird.), zur Anwendung des Nullsteuersatzes § 28 Abs. 63 UStG 1994 erfüllt?</p>';
?>
<p class="custom-checkboxes">
<label for="tax_checkbox_yes">
<input type="radio" id="tax_checkbox_yes" name="tax_checkbox" value="yes" checked> Ja
</label><br>
<label for="tax_checkbox_no">
<input type="radio" id="tax_checkbox_no" name="tax_checkbox" value="no"> Nein
</label>
</p>
<?php
}
add_action('woocommerce_after_cart_table', 'add_custom_checkboxes_in_cart');
/*Speichern der Checkbox Werte*/
function save_tax_checkbox_choice( $cart ) {
if (isset($_POST['tax_checkbox'])) {
WC()->session->set('tax_checkbox', sanitize_text_field($_POST['tax_checkbox']));
}
}
add_action('woocommerce_before_cart', 'save_tax_checkbox_choice');
/*Steuersätze berechnen*/
function adjust_tax_based_on_selection( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) {
return;
}
if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) {
return;
}
$selection = WC()->session->get('tax_checkbox');
if ($selection == 'yes') {
// Setze Steuerstatus auf 'none', wenn "Ja" ausgewählt ist
foreach ( $cart->get_cart() as $cart_item ) {
$product = $cart_item['data'];
$product->set_tax_status('none');
}
} else if ($selection == 'no') {
// Setze Steuerstatus auf 'taxable' und Standardsteuerklasse, wenn "Nein" ausgewählt ist
foreach ( $cart->get_cart() as $cart_item ) {
$product = $cart_item['data'];
$product->set_tax_status('taxable');
$product->set_tax_class('');
}
}
}
add_action('woocommerce_before_calculate_totals', 'adjust_tax_based_on_selection', 10, 1);
Alles anzeigen