Почему больше не бегаем? Woocommerce [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему больше не бегаем? Woocommerce [закрыто]

Сообщение Anonymous »

Ну, у меня был этот код в файле function.php для woocommerce в WordPress.
По сути, это флажок, поэтому, когда он установлен или снят, он добавляет или не добавляет процентную комиссию в дополнение к обычному налогу (это своего рода специальный налог в Испании).
Но вот уже год как он больше не работает и не знаю почему. Я пытался изменить имена переменных или даже удалить плагины, которые могут взаимодействовать с комиссиями, но... это просто не работает, а несколько лет назад это работало. Или, возможно, это сам код.
Код:

Код: Выделить всё


// Agregar un nuevo campo al formulario de pago
add_action( 'woocommerce_review_order_before_payment', 'agregar_checkbox_recargo_equivalencia' );
function agregar_checkbox_recargo_equivalencia() {
echo '' . __('Recargo de Equivalencia', 'woocommerce') . '';
woocommerce_form_field( 'recargo_equivalencia1', array(
'type'      => 'checkbox',
'class'     => array('input-checkbox'),
'label'     => __('Estoy acogido al recargo de equivalencia (+5,2%)', 'woocommerce'),
), WC()->session->get( 'recargo_equivalencia1' ));
echo '';
}

// Guardar el estado del checkbox en la sesión
add_action( 'woocommerce_checkout_update_order_meta', 'guardar_checkbox_recargo_equivalencia' );
function guardar_checkbox_recargo_equivalencia( $order_id ) {
if ( !empty( $_POST['recargo_equivalencia1'] ) ) {
WC()->session->set( 'recargo_equivalencia1', '1' );
} else {
WC()->session->__unset( 'recargo_equivalencia1', '0');
}
}

// Aplicar el recargo de equivalencia al total de los productos si se ha marcado el checkbox
add_action( 'woocommerce_cart_calculate_fees', 'aplicar_recargo_equivalencia' );
function aplicar_recargo_equivalencia() {
if ( WC()->session->get( 'recargo_equivalencia1' ) === '1' ) {
$cart1 = WC()->cart->get_cart();
$total_productos1 = 0;

// Sumar el total de los productos en el carrito
foreach ( $cart1 as $cart_item1 ) {
$total_productos1 += $cart_item1['line_total'];
}

$recargo1 = $total_productos1 * 0.052; // 5.2% del total de productos
WC()->cart->add_fee( ___ ('RE', 'woocommerce'), $recargo1 );

}
}

// Cargar script de JavaScript para actualizar el resumen del pedido en finalizar compra
add_action( 'wp_footer', 'actualizar_resumen_pedido_js' );
function actualizar_resumen_pedido_js() {
// Solo cargamos el script en la página de finalizar compra
if ( is_checkout() && ! is_wc_endpoint_url() ) {
?>

jQuery(document).ready(function($){
// Detectar cambios en el checkbox de recargo de equivalencia
$('input[name="recargo_equivalencia1"]').on('click', function(){
// Forzar la actualización del resumen del pedido
setTimeout(function(){
$(document.body).trigger('update_checkout');
}, 100);
});
});



Подробнее здесь: [url]https://stackoverflow.com/questions/78824504/why-no-longer-running-woocommerce[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»