使用Woocommerce,是否可以强制用户在结帐后直接退出(重要提示:我需要勾选“允许客户在结账时创建帐户”)。
我问,因为默认情况下,用户购买了在线课程,尽管没有得到管理员用户的验证,但他们可以直接访问该课程。
以下将在结账时将客户重定向到商店页面后注销客户:
// Logourt after checkout and redirect to shop
add_action( 'template_redirect', 'order_received_logout_redirect' );
function order_received_logout_redirect() {
// Only on "Order received" page
if( is_wc_endpoint_url('order-received') ) {
wp_logout(); // Logout
// Shop redirection url
$redirect_url = get_permalink( get_option('woocommerce_shop_page_id') );
wp_redirect($redirect_url); // Redirect to shop
exit(); // Always exit
}
}
代码位于活动子主题(或活动主题)的function.php文件中。经过测试和工作。
注意:当客户退出时,它不能再在结账后访问订单摘要(订单收到),因此需要重定向。
您可以在结账订单后使用注销功能
add_action('woocommerce_payment_complete', 'custom_process_order', 10, 1);
function custom_process_order() {
wp_logout();
}