我想在woocommerce会话到期时删除购物车内容。 我可以看到有一个变量在类 WC_Session_Handler 中设置时间,但是当它到期时,产品不会从购物车中移除(我猜它的设计就像这样,它是' s不是错误)。
那么请告诉我如何设置woocommerce购物车的会话到期时间,以便购物车内容在到期后被删除?
答案 0 :(得分:7)
从我所看到的情况来看,WooCommerce 2.0.20有一个每天运行两次的定期维护工作,它将从WordPress选项表中删除任何购物车会话。默认过期时间设置为用户首次创建购物车时的48小时。我猜你的标准WordPress调度例程(以及服务器cron / at jobs)需要正常运行才能执行。
AFAIK无法通过设置调整48小时规则。您可以在主题中或在相邻的"中编写过滤器。插件。
以下是来自新的" WooCommerce延长购物车超时的一些代码片段"插件我建立在我的网站上:
在我的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