Rimuovere la dashboard e utilizzare la scheda Pagine come predefinita

16 gen 2012, 15:27:31
Visualizzazioni: 20.8K
Voti: 8

C'è un modo per impostare "Pagine" come scheda predefinita quando l'utente accede all'area amministrativa? Sto utilizzando una configurazione altamente personalizzata, dove nessuno dei widget della dashboard è utile quindi sono comunque nascosti.

0
Tutte le risposte alla domanda 3
0
15

Il modo migliore è reindirizzare gli accessi degli utenti alla tua pagina e rimuovere anche la dashboard dal menu, questo può essere fatto con 2 filtri.

Reindirizza gli accessi alla tua schermata di modifica della pagina basata sui ruoli degli utenti, questo esempio utilizza il ruolo "author":

function dashboard_redirect($url) {
    global $current_user;
    // c'è un utente ?
    if(is_array($current_user->roles)) {
        // controlla se l'utente ha il ruolo author:
        if(in_array('author', $current_user->roles)) {
             $url = admin_url('edit.php?post_type=page');
        }
        return $url;
    }
}
add_filter('login_redirect', 'dashboard_redirect');   

Rimuovi la "dashboard dal menu di amministrazione"

add_action( 'admin_menu', 'Wps_remove_tools', 99 );
function Wps_remove_tools(){
    
    remove_menu_page( 'index.php' ); //dashboard
  
   }

ps. Puoi anche riordinare le voci del menu di amministrazione utilizzando lo stesso filtro.

16 gen 2012 19:30:57
0
11

Ecco come rimuovere completamente la DASHBOARD dal tuo WordPress!

Per chi non vuole utilizzare plugin, Se hai installato un plugin per rimuoverla. Otterrai anche un menu extra relativo a quel plugin. Qual è il punto? Quindi dovresti avere il controllo su ciò che fai/hai fatto


Inserisci i codici in functions.php

Reindirizzamento: (Quando un utente accede a un URL come domain.com/wp-admin)

function dashboard_redirect(){
    wp_redirect(admin_url('edit.php?post_type=page'));
}
add_action('load-index.php','dashboard_redirect');

Reindirizzamento dopo il login: (Per prevenire anche bug di loop di accesso)

function login_redirect( $redirect_to, $request, $user ){
    return admin_url('edit.php?post_type=page');
}
add_filter('login_redirect','login_redirect',10,3);

Rimuovi il menu Dashboard: (Perché lo hai ancora?)

function remove_menus () {
    global $menu;
    $restricted = array(__('Dashboard'));
    //$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
    end($menu);
    while(prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(in_array($value[0]!= NULL?$value[0]:'',$restricted)){unset($menu[key($menu)]);}
    }
}
add_action('admin_menu','remove_menus');

Ora quando un utente accede o va con un URL come domain.com/wp-admin/,..

L'utente verrà reindirizzato a domain.com/wp-admin/edit.php?post_type=page


3 nov 2015 11:24:17
1
-1

Sì, usa il Plugin Adminimize, rimuovi la dashboard e fai in modo che le pagine siano la prima schermata quando un utente effettua il login. Puoi personalizzarlo molto bene e fare un fine tuning dell'intero backend di amministrazione!

AGGIORNAMENTO

Usa il filtro login_redirect e la funzione admin_url come in questo post di Wordpress Stackechange: Cambia la pagina di amministrazione predefinita per ruoli specifici

16 gen 2012 15:33:14
Commenti

Sono diffidente nell'usare un plugin così completo per un solo scopo. Idealmente lo integrerei nel functions.php del mio tema personalizzato

Tom Tom
16 gen 2012 15:45:29