Avisos
Vaciar todo

[Resuelto] Carrito

6 Respuestas
4 Usuarios
0 Reactions
15 Visitas
Respuestas: 175
Estimable Member
Topic starter
 

Hola buenos dias.

Hemos detectado que se tenemos casi permanentemente un carritos pendientes, los borramos pero al minuto nos aparece de nuevo otro carrito pendiente y asi todo el dia y a todas horas, incluso de madrugada. Como podriamos hacer para que ls carritos pendientes fueran eliminados a los 30 minutos por ejemplo.

 

 

Muchas gracias

 

Saludos

Jose Carlos

Contenido solo visible a usuarios registrados


 
Respondido : 11/02/2025 10:09 am
Tags del tema
Karen Rios
Respuestas: 18684
Illustrious Member Moderator
 

Hola Jose Carlos, 

En este caso puedes probar si con el siguiente código que debes añadir en el functio.php de tu tema o un plugin como code snippets te permite limpiar los carritos abandonados

add_filter('wc_session_expiring', 'webforo_filter_session_expiring');

function webforo_filter_session_expiring($seconds) {
return 60 * 60 * 23; // 23 hours
}

add_filter('wc_session_expiration', 'webforo_filter_session_expired');

function webforo_filter_session_expired($seconds) {
return 60 * 60 * 24; // 24 hours
}

Ten en cuenta que hay otras alternativas que funcionan con un plugin pero son de pago y no podemos revisarlo, puedes revisarlo en el siguiente enlace → Contenido solo visible a usuarios registrados

PD: Antes de adquirir algún plugin te recomiendo consultes con su soporte para comprobar te permita realizar lo que necesitas. 

Un Saludo 


 
Respondido : 11/02/2025 1:31 pm
Respuestas: 175
Estimable Member
Topic starter
 

Hola Karen buenas tardes.

Gracias por tu ayuda. El codigo que me indicas cada cuanto tiempo limpia los carritos abandonados (cual es la frecuencia).

 

Saludos

 

jose Carlos


 
Respondido : 13/02/2025 5:31 pm
Bruno
Respuestas: 6488
Illustrious Member Moderator
 

Que tal Jose Carlos,

El código compartido por mi compañera lo que hace es modificar el tiempo que dura una sesión de WooCommerce en este caso el carrito activo

Este proceso consta de dos acciones donde primero se define el tiempo en la que existe una advertencia de que la sesión va a caducar

Luego esta la otra acción la cual elimina por completo las sesiones pendientes

Los tiempos los tienes a modo de comentarios donde la advertencia es a las 23 horas y la sesión es eliminada a las 24 horas

Estos intervalos puedes modificarlos, por ejemplo

add_filter('wc_session_expiring', 'webforo_filter_session_expiring');
function webforo_filter_session_expiring($seconds) {
return 60 * 25; // 25 minutos antes de expirar
}

add_filter('wc_session_expiration', 'webforo_filter_session_expired');
function webforo_filter_session_expired($seconds) {
return 60 * 30; // 30 minutos
}

De esta forma estamos haciendo que los intervalos de advertencia y de eliminar la sesión sea de 30 minutos

Espero haber aclarado tus dudas

Saludos!


 
Respondido : 13/02/2025 5:46 pm
Respuestas: 175
Estimable Member
Topic starter
 

@bruno-vichetti

Hola Bruno buenos dias.

 

Muchas gracias por tu ayuda y explicación ha sido de fran ayuda.

Saluos

 

Jose Carlos


 
Respondido : 14/02/2025 9:04 am
Pepe
 Pepe
Respuestas: 41133
Illustrious Member Admin
 

Hola Jose Carlos.

Nada, Gracias a ti, como siempre un placer poder orientarlos en lo que nos sea posible.

Cualquier consulta que tengas no dudes en comunicarlo.

 

Un saludo


 
Respondido : 14/02/2025 9:29 am