0

我有http://mysite.com/admin.php

在那里我检查用户是否是管理员。在第二种情况下,我将用户发送到 wp-login 页面,如下所示:

blog.mysite.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com/admin.php

我希望 admin.php 重定向回来,但 wordpress 总是将我发送到 wp-admin 控制面板。

我研究过。当目的地。主机不在过滤器中

allowed_redirect_hosts

WP 只是将用户重定向到 wp-admin。

如何向过滤器添加更多主机?

如果我将 WP Codex 中的这个示例放在 functions.php 上,它就会停止工作。

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;
}
4

2 回答 2

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;
?>

文档:wp_redirect()

希望这可以帮助!

于 2013-07-16T00:08:15.997 回答
0

终于成功了!我做错的是将代码放在 WP functions.php 文件中,而不是放在我的自定义主题 functions.php 文件中。

谢谢大家!

于 2013-07-16T16:16:22.440 回答