В Woocommerce я пытаюсь найти решение для проверки того, вошел ли пользователь на пользовательскую страницу и, если да, перенаправить пользователя на страницу «Моя учетная запись».
Любая помощь по этому вопросу приветствуется.
Попробуйте следующее, где вы замените 'some-page'
по вашей реальной странице ID, слаг или имя. Код будет перенаправлен на определенную определенную страницу, на которой вошли пользователи, на страницу моей учетной записи:
add_action('template_redirect', 'specific_logged_in_redirect');
function specific_logged_in_redirect() {
if ( is_page('some-page') && is_user_logged_in() ) {
wp_redirect( get_permalink( get_option('woocommerce_myaccount_page_id') ) );
exit();
}
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
Для 2 страниц вы будете использовать: is_page( array( 'some-page', 'some-other' ) )
Вы должны использовать $ _SESSION.
Это поможет вам проверить, авторизован ли пользователь на странице.
if(isset($_SESSION['UserID'])){
header('Location: [url]');
}
С WordPress:
$current_user = wp_get_current_user();
if ( 0 != $current_user->ID ) {
$template = get_page_template_slug($post->ID);
if($template == "your_custom_template_name"){
wp_redirect( wp_login_url() )
}
}