#php #wordpress #redirect #web #header
#php #wordpress #перенаправление #веб #заголовок
Вопрос:
У меня есть сайт WordPress, где после входа в систему я хочу, чтобы они перенаправляли на другой сайт. Как я могу это сделать в WordPress? настройка функции заголовка php ( заголовок( «Местоположение: http://www.somesite.com » ) ) не сработало, в нем говорилось, что заголовки уже установлены header.php досье. Итак, в принципе, как мне перенаправить через WordPress?
Есть ли в WordPress собственная функция re direct, с помощью которой я могу безопасно перенаправить с сайта WordPress? Я понятия не имею, что еще делать, поэтому, пожалуйста, помогите мне, спасибо.
Комментарии:
1. где в вашем коде вы делаете перенаправление? (например, в какой момент.. внутри шаблона страницы и т. Д. И т. Д.)
Ответ №1:
На обычных страницах вы можете использовать wp_redirect
(см. Ссылку на функцию / wp_redirect)
<?php
wp_redirect( $location, $status );
exit;
?>
Чтобы разрешить перенаправление на другие сайты, добавьте следующее в functions.php
(заменив ‘other’ своими значениями):
function my_allowed_redirect_hosts($allowed) {
$allowed[] = 'other.com';
$allowed[] = 'www.other.com';
return $allowed;
}
add_filter('allowed_redirect_hosts','my_allowed_redirect_hosts');
Обычно, если в redirect_to
URL страницы входа есть значение querystring, он попытается перенаправить в это место после аутентификации.
Чтобы изменить, куда логин будет перенаправлять пользователей независимо от значения redirect_to
строки запроса, снова добавьте в functions.php
(заменив местоположение вашими значениями):
function custom_login_redirect() {
return 'http://www.other.com/Home/Authenticated';
}
add_filter('login_redirect', 'custom_login_redirect');
Для выхода из системы и перенаправления на другой сайт вы можете использовать что-то вроде:
<a href="<?=wp_logout_url( "http://other.com/Account/LogOff" )?>">Log Off</a>
Ответ №2:
Попробуйте это
//chage the redirection url for login
add_filter('login_redirect','my_redirect_to_my_site',100,3);
function my_redirect_to_my_site($redirect_to_calculated,$redirect_url_specified,$user){
return "http://google.com";//where you want to redirect ,change with that
}
//add the domain to allowed hosts list for redirection
add_filter('allowed_redirect_hosts','my_allowed_redirect_hosts');
function my_allowed_redirect_hosts($allowed_hosts){
$allowed_hosts[]='google.com'; //add the other domain to allowed hosts where to redirect
return $allowed_hosts;
}
Обязательно добавьте свое имя хоста (куда вы хотите перенаправить в списке allowed_hosts). вы можете поместить этот код в functiions.php вашей темы, и она перенаправит пользователя при входе в систему.
Надеюсь, это поможет 🙂