Em um projeto de um site em Woocommerce me foi solicitado que quando o usuário do site desloga-se do site, caso ele tivesse com itens no carrinho, estes itens se manteriam.
O padrão atual do Woocommerce, e acredito de boa parte de sistemas de lojas virtuais é de limpar o carrinho.
Então para fazer isso adicione no function.php
do seu tema este pedaço de código:
function keep_sessions_on_logout(){
remove_action( 'wp_logout', array( WC()->session, 'destroy_session' ) );
}
add_action( 'woocommerce_init', 'keep_sessions_on_logout' );
Basicamente o que esta função faz é manter os dados da sessão, inclusive os carrinhos ativos ao deslogar.