2013-07-23 2 views
2

woocommerce 세션이 만료되면 장바구니 내용을 지우고 싶습니다. 클래스에 시간을 설정하는 변수가 있다는 것을 알 수 있습니다. WC_Session_Handler하지만 만료되면 제품이 카트에서 제거되지 않습니다 (의도 한대로 동작합니다. 오류가 아닙니다).wordpress woocommerce cart expiration을 설정하십시오.

그래서 woocommerce 카트의 세션 만료 시간을 어떻게 설정할 수 있습니까? 만료시 장바구니 내용이 삭제 되나요?

감사합니다, 타마스 내가 무엇을 볼 수에서

답변

5

는 WooCommerce 2.0.20는 워드 프레스 옵션 테이블에서 모든 카트 세션을 제거합니다 회/일을 실행하는 예약 된 유지 보수 작업이 있습니다. 기본 만료 시간은 사용자가 장바구니를 처음 만들 때부터 48 시간으로 설정됩니다. 나는 당신의 표준 WordPress 스케줄링 루틴 (및 서버 cron/at 작업)이 이것을 실행하기 위해 올바르게 실행되어야 할 것이라고 추측하고있다.

AFAIK 설정을 통해 48 시간 규칙을 조정할 방법이 없습니다. 당신은 당신의 테마 또는 "인접한"플러그인에 필터를 쓸 수 있습니다.

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

: 내 WoocommerceLicenseAPI 클래스 내부

: 여기

내가 내 사이트에 구축 된 새로운 "장바구니 시간 초과를 확장 WooCommerce"플러그인에서 일부 코드 조각입니다

관련 문제