boton - establecer la expiración del carrito de woocommerce de wordpress
boton añadir al carrito woocommerce (1)
Por lo que puedo ver, WooCommerce 2.0.20 tiene un trabajo de mantenimiento programado que se ejecuta dos veces / día para eliminar cualquier sesión de carrito de la tabla de opciones de WordPress. El tiempo de caducidad predeterminado se establece en 48 horas desde el momento en que el usuario creó el carro por primera vez. Supongo que las rutinas de programación de WordPress estándar (y las tareas de cron / at del servidor) deberán ejecutarse correctamente para que esto se ejecute.
AFAIK no hay forma de ajustar la regla de 48 horas a través de la configuración. Puede escribir un filtro en su tema o en un complemento "adyacente".
Aquí hay algunos fragmentos de código de un nuevo complemento "WooCommerce Extend Cart Timeout" que construí en mi sitio:
Dentro de mi clase WoocommerceLicenseAPI:
if ( ! class_exists( ''WoocommerceLicenseAPI'' ) ) {
add_filter(''wc_session_expiring'' , array(''WoocommerceLicenseAPI'', ''filter_ExtendSessionExpiring'') );
add_filter(''wc_session_expiration'' , array(''WoocommerceLicenseAPI'', ''filter_ExtendSessionExpired'') );
{
static function filter_ExtendSessionExpiring($seconds) {
return (60 * 60 * 24 * 8) - (60 * 60);
}
static function filter_ExtendSessionExpired($seconds) {
return 60 * 60 * 24 * 8;
}
HTH
Me gustaría borrar el contenido del carrito cuando caduque la sesión de woocommerce. Puedo ver que hay una variable que establece el tiempo en la clase WC_Session_Handler , sin embargo, cuando caduca, los productos no se eliminan del carro (supongo que se comporta así por diseño, no es un error).
Así que, por favor, díganme cómo puedo establecer el tiempo de vencimiento de la sesión para el carrito woocommerce, de modo que el contenido del carrito se elimine cuando caduque.
Gracias, Tamás