我检查用户是否是管理员。 在第二种情况下,我将用户发送到wp-login页面,如下所示:
blog.mysite.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com/admin.php
我希望重定向到admin.php但是wordpress总是把我发送给wp-admin控制面板。
我研究过。 当dest。主机不在过滤器中
allowed_redirect_hosts
WP只是将用户重定向到wp-admin。
如何向过滤器添加更多主机?
如果我把这个例子放在了关于functions.php的WP Codex上,它就会停止工作。
(http://codex.wordpress.org/Plugin_API/Filter_Reference/allowed_redirect_hosts)
add_filter( 'allowed_redirect_hosts' , 'my_allowed_redirect_hosts' , 10 );
function my_allowed_redirect_hosts($content){
$content[] = 'blog.example.com';
$content[] = 'codex.example.com';
// wrong: $content[] = 'http://codex.example.com';
return $content;
}
答案 0 :(得分:1)
在functions.php
中添加以下内容:
function my_allowed_redirect_hosts($allowed_host) {
$allowed_host[] = 'anothersite.com';
$allowed_host[] = 'www.someotherwebsite.com';
return $allowed_host;
}
add_filter('allowed_redirect_hosts','my_allowed_redirect_hosts');
替换anothersite.com
并相应地添加新值。
如果您尝试在普通网页中重定向用户,可以使用Wordpress的wp_redirect()
功能:
<?php
wp_redirect( $location, $status );
exit;
?>
希望这有帮助!
答案 1 :(得分:0)
最后它有效! 我做错了是将代码放在WP functions.php文件中,而不是放在我的自定义主题functions.php文件中。
全部谢谢!