WordPress — Перенаправление на предыдущую страницу после входа

В Woocommerce for Wordrpress, когда вы находитесь на странице продукта и нажимаете кнопку «Войти», при входе в систему вы перенаправляетесь на страницу Dashboard из своей учетной записи, а не с предыдущей страницы, которую вы читали.

Я пытаюсь это сделать, перенаправить на предыдущую страницу перед входом в систему или на домашнюю страницу, если на моем сайте нет предыдущей страницы.

Я пробовал это, но каждый раз, когда я перенаправлен на домашнюю страницу.

function wc_custom_user_redirect( $redirect ) {
$redirect = wp_get_referer() ? wp_get_referer() : home_url();
return $redirect;
}
add_filter( 'woocommerce_login_redirect', 'wc_custom_user_redirect', 10, 2 );

Любая идея ?

0

Решение

Вы можете отфильтровать login_redirect работать так, адаптироваться в соответствии с вашими потребностями.

add_filter('login_redirect', 'redirect_previous_page', 10, 1);

function redirect_previous_page( $redirect_to ){
global $user;
$request = $_SERVER["HTTP_REFERER"];

if ( in_array( $user->roles[0], array( 'administrator') ) ) {
return admin_url();
} elseif ( in_array( $user->roles[0], array( 'subscriber') ) ) {
return $request;
}
return $redirect_to;
}
0

Другие решения

У меня была похожая проблема. Это удобно, когда вы переходите по ссылке на страницу продукта из электронного бюллетеня и не разрешаете гостевой заказ.
Я обошел его, используя плагин, который отображал логин как всплывающее окно — если он не покидает страницу, его не нужно перенаправлять.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector