php - Wordpress - 基于 IP 地址的重定向
问题描述
我正在制作一个 Wordpress 功能,当用户使用某个 IP 地址时,它会将用户重定向到不同的页面。但是该代码无法正常运行,我无法使其正常工作。
function ip_based_login()
{
if ($_SERVER['REMOTE_ADDR'] == '95.81.51.134')
{
wp_redirect("examplewebsite.com/login2"(site_url($wp->request)));
}
else
{
exit;
}
}
解决方案
site_url
期望附加到站点 url 的路径(例如:site_url('hello') => https://example.com/hello
.
$wp->request
包含请求的路径,这意味着做site_url($wp->request)
将返回您所在的网址。
这是一个工作片段,只需替换$url
为您要重定向到的 url。
function ip_based_login() {
$visitor = $_SERVER['REMOTE_ADDR'];
$redirectTo = site_url('login2');
if (preg_match("/95.81.51.134/",$visitor)) {
wp_redirect($redirectTo);
}
exit;
}
请记住,在functions.php
不将其挂钩到特定操作的情况下放置此代码段可能会导致无限重定向循环。
推荐阅读
- python - 在 Numpy Python 中按一个顺序格式化两个数组的排列
- java - 如何在不使用任何排序的情况下获得未排序数组中的第 N 个最大元素?这可能吗?
- typescript - 如果打字稿中有错误,请阻止创建 js 文件
- c++ - 如何在 C++ 中使用宏?
- kubernetes - 为什么 Kubernetes pod CPU 使用率在节点(DaemonSets)之间会有很大差异?
- python - 迭代和执行 PCA 后如何正确返回数组
- java - Cglib代理MethodInterceptor回调参数的问题
- java - 在 RTF 文件中提取 obj 数据的最简单方法
- javascript - 如何在vue中显示函数内容?
- python - 满足条件时停止多进程池并继续执行程序