我遇到了一个无限的重定向循环, 当在检测到特定国家/地区时尝试重定向用户时, 导致太多重定向错误。
我要实现的目标是在请求url的末尾添加一个语言参数, 然后重定向到同一页面, 这将导致他们使用自己的语言查看该网站。
这是我所做的:
add_action('template_redirect', 'geoip_redirect');
function geoip_redirect()
{
if (function_exists('geoip_detect2_get_info_from_current_ip')) {$user_info = geoip_detect2_get_info_from_current_ip();
$country_code = $user_info->
country->
isoCode;
$request_url = $_SERVER['REQUEST_URI'].'?lang=he';
$url = get_site_url(null, $request_url);
if ($country_code == 'IL') {
wp_redirect($url);
exit();
}}
}
#1【使用geoip时wp_redirect循环】你需要在执行代码之前添加一个条件, 例如检查lang参数, 否则它将永远执行下去。
add_action('template_redirect', 'geoip_redirect');
function geoip_redirect()
{
if (function_exists('geoip_detect2_get_info_from_current_ip')) {
if ( ! isset( $_GET['lang'] ) ) {
$user_info = geoip_detect2_get_info_from_current_ip();
$country_code = $user_info->
country->
isoCode;
$request_url = $_SERVER['REQUEST_URI'].'?lang=he';
$url = get_site_url(null, $request_url);
if ($country_code == 'IL') {
wp_redirect($url);
exit();
}
}}
}
推荐阅读
- 节假日加班工资=加班工资的计算基数÷21.75×300%
- wp_query自定义类别页面
- WP_Query-显示粘性帖子时,” category__not_in”不起作用
- WP_Query不按价格元值排序
- wp_posts缺少文本()
- WP(覆盖最近发布的窗口小部件类)
- 基于post_type的边栏中的wp_list_categories
- WP(如何在functions.php中包含一个类(php文件),而不是将其记为functions.php中的(长)函数)
- wp_enqueue_scripts无法渲染我的脚本