我有一个只通过登录访问的响应式网站。所有页面都可以通过手机/桌面访问,只是我们认为为手机用户提供不同的页面更合适。
我之前要求将移动用户重定向到另一个登录页,得到了这个答案(效果很好):
add_filter(\'login_redirect\', function($to, $request, $user)
{
if ( wp_is_mobile() ) $to = home_url().\'/mobile-news\';
return $to;
}, PHP_INT_MAX, 3);
目前,如果用户链接到新闻文章(例如,site.com/激动人心的新闻文章),他们将看到登录页面(这是正常的),但是一旦他们登录重定向请求,就会被忽略,而改为(site.com/mobile news)页面。
我需要对此进行调整,以便如果他们链接到特定的新闻项目,他们将转到那里,而不是移动新闻页面。
我一直在尝试不同的解决方案,但它似乎完全忽视了。这是我目前拥有的,但无法正常工作:
add_filter(\'login_redirect\', function($to, $request, $user)
{
if ( wp_is_mobile() ) {
if ($_GET[\'redirect_to\'] != \'\') {
$to = $_GET[\'redirect_to\'];
}
else {
$to = home_url().\'/mobile-news\';
}
}
return $to;
}, PHP_INT_MAX, 3);
以前有人遇到过这个问题吗?我不知道我哪里出了问题!
最合适的回答,由SO网友:mukto90 整理而成
试试这个-
add_filter(\'login_redirect\', function($to, $request, $user)
{
if ( wp_is_mobile() && $request == null ) {
return home_url().\'/mobile-news\';
}
return $to;
}, PHP_INT_MAX, 3);
未经测试,但应能正常工作。
Note: 使用像这样的URLhome_url().\'/mobile-news\' 我认为这不是个好主意。
使用get_permalink( $post_id ) 相反哪里$post_id 是的IDhome_url().\'/mobile-news\' 页因为,如果该页面的slug发生了变化,访问者将看到404页面!