J'ai un site Web sensible qui est accessible via connexion uniquement. Toutes les pages sont accessibles via mobile/ordinateur de bureau. Nous pensions simplement qu’il était plus approprié d’adopter une page différente pour les utilisateurs mobiles.
J'ai précédemment demandé à rediriger les utilisateurs mobiles vers une autre page de destination et j'ai obtenu cette réponse (qui fonctionne très bien):
add_filter('login_redirect', function($to, $request, $user)
{
if ( wp_is_mobile() ) $to = home_url().'/mobile-news';
return $to;
}, PHP_INT_MAX, 3);
Actuellement, si un utilisateur est lié à un article de presse (par exemple, site.com/exciting-news-article), il rencontrera la page de connexion (ceci est normal). Cependant, une fois connecté, la demande de redirection est ignorée en faveur de (site). .com/mobile-news) page.
Je dois adapter cela pour que, s'ils sont liés à un article d'actualité spécifique, ils y aillent à la place de la page d'informations mobiles.
J'ai essayé différentes solutions mais cela semble ignorer complètement. C'est ce que j'ai actuellement et cela ne fonctionne pas correctement:
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);
Quelqu'un a-t-il déjà rencontré ce problème - Je ne sais pas trop où je me trompe!
Essaye celui-là-
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);
Non testé, mais devrait fonctionner.
Remarque: utiliser une URL telle que celle-ci home_url().'/mobile-news'
n'est pas une bonne idée, à mon avis.
Utilisez get_permalink( $post_id )
à la place. Où $post_id
est l'ID de la page home_url().'/mobile-news'
. Parce que, si le slug de cette page a été modifié, les visiteurs verront une page 404!