Leite vom Dashboard zur edit.php um, wenn wp_is_mobile () wahr ist

Suche nach einer Möglichkeit, den Benutzer direkt aus dem Dashboard in die edit.php wenn wp_is_mobile() wahr ist.

Das habe ich ausprobiert:

 function redirect_if_mobile() { $screen = get_current_screen(); if($screen->base == 'dashboard') { if ( wp_is_mobile() ) { $url = admin_url( 'edit.php' ); wp_redirect( $url ); } } } add_action( 'admin_menu', 'redirect_if_mobile'); 

Das Problem ist, dass get_current_screen() weder in admin_init noch in admin_menu (wenn Sie stattdessen admin_head verwenden, ist es zu spät und Header wurden bereits gesendet).

Ideen?

Solutions Collecting From Web of "Leite vom Dashboard zur edit.php um, wenn wp_is_mobile () wahr ist"

Die Aktion, nach der Sie suchen, ist auth_redirect, die vor den Headern steht, aber $ pagenow erkennt, um zu ermitteln, auf welcher Seite Sie sich befinden:

 add_action('auth_redirect', 'the_mobile_boot'); function the_mobile_boot() { global $pagenow; if ( $pagenow == 'index.php' && wp_is_mobile() ) { header( 'Location: ' . get_admin_url(null, 'edit.php') ); exit; } } 

Sie können tatsächlich die function verwenden, die Sie verwenden, Sie müssen nur load-index.php (keine Notwendigkeit für Globals, wenn Sie sie nicht brauchen):

 add_action('load-index.php', function(){ if(get_current_screen()->base == 'dashboard' && !wp_is_mobile()) wp_redirect(admin_url('edit.php')); }); 

Okay, fand eine Lösung, wenn auch nicht so elegant.

 function load_if_mobile() { if ( wp_is_mobile() ) {?> < ?php } } add_action('admin_head-index.php', 'load_if_mobile');