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
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
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
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!
Hola Bruno buenos dias.
Muchas gracias por tu ayuda y explicación ha sido de fran ayuda.
Saluos
Jose Carlos
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