Os dejamos este código para que podáis desactivar el autologin de vuestro WooCommerce. Os hablamos de esta función en la sección herramientas del episodio 28 de nuestro podcast.
<?php
add_filter( 'woocommerce_registration_redirect', 'user_verification_woocommerce_registration_redirect', 10, 1 );
function user_verification_woocommerce_registration_redirect(){
if ( is_user_logged_in() ) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
$approved_status = get_user_meta($user_id, 'user_activation_status', true);
//si el usuario no ha sido aprobacod, la cookie se destruye y lo saca de la sesión
if ( $approved_status == 1 ){
return get_permalink(wc_get_page_id('myaccount'));
} else {
wp_logout();
return get_permalink(wc_get_page_id('myaccount')) . "?approved=false";
}
}
}
function registration_message(){
$not_approved_message = '<p class="registration">Tu cuenta estará bloqueada hasta que sea aprobada.</p>';
if( isset($_REQUEST['approved']) ){
$approved = sanitize_text_field($_REQUEST['approved']);
if ($approved == 'false') echo '<p class="registration successful">¡Registro solicitado! Te enviaremos un email para confirmarte la activación de tu cuenta.</p>';
else echo $not_approved_message;
}
else echo $not_approved_message;
}
add_action('woocommerce_before_customer_login_form', 'registration_message', 2);