Ваш код не может работать, поскольку отсутствует ссылка для перенаправления ... Попробуйте вместо этого следующее (перенаправление незарегистрированного пользователя из Checkout в мою учетную запись) :
add_action('template_redirect', 'unlogged_my_account_redirect');
function unlogged_my_account_redirect() {
if ( ! is_user_logged_in() && is_checkout() && ! is_wc_endpoint_url() ) {
wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
exit();
}
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.