如果客户端从特定的其他域到达我的WordPress站点,我想将客户端指向我站点上的特定页面。最好,我想使用PHP头函数来执行重定向,但将考虑非编码解决方案。
现在,我已经将条件代码放在活动主题标题的顶部。php文件,如果$_SERVER[\'HTTP_REFERER\'] == "some.domain.com"
然后,我使用常见的html元刷新执行重定向,如下所示:
if($_SERVER[\'HTTP_REFERER\'] == "https://www.somewebsite.com/"){
?><meta http-equiv="refresh" content="0; url=https://my.wordpresssite.com/my-custom-page/"><?php
}
PHP
header("Location: /my-custom-page/")
在那里不起作用,可能是因为内容输出已经发生了。Meta refresh目前可以完成这项工作,但它非常粗糙。我使用元刷新的主要问题是,即使在“0”秒的时间内,页面内容也已经开始加载,然后客户端被重定向到我真正想要的特殊页面。因此,用户可以在几秒钟内看到主页的刊头和其他部分,然后他们被带到我希望他们出现的页面。
WordPress甚至在加载头之前就执行许多文件和函数。php。我想知道在哪里可以将PHP标题重定向到WordPress中的相对页面(假设没有可行的非编码解决方案)。如果可能的话,我不想修改wp admin或wp include文件。
最合适的回答,由SO网友:TheDeadMedic 整理而成
尝试template_redirect
挂钩(在functions.php
):
add_action( \'template_redirect\', function () {
if ( wp_get_raw_referer() === \'https://www.somewebsite.com/\' ) {
wp_redirect( home_url( \'my-custom-page/\' ) );
exit;
}
});