WordPress dashboard hacks

modificare wordpress dashboard

[ATTENZIONE: siccome ho visto che qualche utente arriva qui cercando cose tipo ‘togliere commenti wordpress’ o ‘come togliere i commenti da un sito in wordpress’ o ‘plugin eliminazione commenti wordpress’ ho scritto una guida per spiegare come togliere i commenti da un sito WordPress]

Quando costruiamo un sito con WordPress per un cliente, una delle cose su cui è importante mettere mano è la dashboard, ovvero la prima pagina che il cliente vede dopo che si è loggato nel sito/blog.

WordPress non mette a disposizione molti strumenti per personalizzare la sua area di amministrazione, anche se la strada per arrivarci non è disponibile in bella mostra, e bisogna smanettare un pochino per arrivare alla meta.

Come rimuovere i menù

Dopo aver dato all’utente del cliente il giusto ruolo (spesso ‘editore‘ è corretto) può essere una buona idea togliere di mezzo qualcuno dei menù che restano disponibili, in modo da evitare qualsiasi tipo di catastrofe involontaria.

L’esempio seguente toglie tutti i menù indicati nell’array $restricted; basta copiare il codice nel file functions.php del tema usato.

function remove_menus () {
global $menu;
$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');

fonte

Usare un login personalizzato

Una pura finezza estetica; il cliente sarà contento di vedere il suo logo, e soprattutto non dovrai spiegargli cosa significa “quella doppia W“!
Oltre al plugin Custom Admin Branding, si può copiare questo codice nel file functions.php:

function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
</style>';
}
add_action('login_head', 'my_custom_login_logo');

fonte

Disattivare gli avvisi degli aggiornamenti

Disattivare l’alert che avvisa della disponibilità di aggiornamenti può solo fare bene al webmaster che non dovrà ricevere grida di allarme dal cliente ogni volta che è disponibile un nuovo aggiornamento di WordPress.
La cosa è già disponibile tramite il plugin Secure WordPress, ma si può ottenere anche tramite questo codice inserito nel file delle funzioni del tema:

if ( !current_user_can( 'edit_users' ) ) {
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}

fonte

Rimuovere widget dalla dashboard

Visto che la dashboard è la prima pagina che vede l’utente che si logga, mi sembra interessante poter personalizzarla, magari togliendo di mezzo qualche widget che all’editore non dovrebbe interessare.
La cosa si può fare con un plugin che si chiama Clean WP Dashboard oppure tramite codice, come negli esempi precedenti:

function example_remove_dashboard_widgets() {
// Globalize the metaboxes array, this holds all the widgets for wp-admin
global $wp_meta_boxes;
// Remove the incomming links widget
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
// Remove right now
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
// Hoook into the 'wp_dashboard_setup' action to register our function
add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );

Rimuovere widget a seconda dell’utente

I widget della dashboard possono essere rimossi anche a seconda del fatto che l’utente loggato sia – per esempio – un amministratore, oppure un editore, ecc.
L’esempio seguente rimuove il postcustom meta box per gli utenti di livello inferiore al 3 (autori). Bisogna comunque ricordare che dalla versione 3 di WordPress i livelli utente sono deprecati.

function customize_meta_boxes() {
//retrieve current user info
global $current_user;
get_currentuserinfo();
//if current user level is less than 3, remove the postcustom meta box
if ($current_user->user_level < 3)
remove_meta_box('postcustom','post','normal');
}
add_action('admin_init','customize_meta_boxes');

fonte

Aggiungere widget alla dashboard

I widget della dashboard possono essere tolti ma anche aggiunti. E non è per niente difficile!
Basta inserire il giusto codice dentro il file functions.php – come al solito – dopo averlo personalizzato a dovere.

function example_dashboard_widget_function() {
// Display whatever it is you want to show
echo "Hello World, I'm a great Dashboard Widget";
}
// Create the function use in the action hook
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');
}
// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

Per aggiungere un widget personalizzato alla bacheca di WordPress esiste anche un plugin, per gli utenti meno “smanettoni”;
si tratta di Custom Dashboard Widget.
Una volta installato potrete personalizzare titolo e contenuto del vostro widget, ovviamente anche con codice HTML.
Utile nel caso vogliate avere – per esempio – dei link velocemente raggiungibili dalla bacheca, come per esempio le statistiche di accesso fornite da terzi, oppure verso la vostra webmail, ecc.ecc.

Personalizzare la dashboard via CSS

Possiamo aggiungere del codice css per personalizzare ulteriormente la dashboard, cambiando i colori, per esempio, oppure per nascondere un widget che non riusciamo a togliere in altro modo (come quello di Website Defender).

function custom_colors() {
echo '<style type="text/css">#wphead{background:#069}</style>';
}
add_action('admin_head', 'custom_colors');

Fornire messaggi di aiuto

E’ possibile anche personalizzare il menù contestuale di aiuto che appare nell’area di amministrazione, come fa la funzione seguente (sempre copiata dentro functions.php):

function my_admin_help($text, $screen) {
// Check we're only on my Settings page
if (strcmp($screen, MY_PAGEHOOK) == 0 ) {
$text = 'Here is some very useful information to help you use this plugin...';
return $text;
}
// Let the default WP Dashboard help stuff through on other Admin pages
return $text;
}
add_action( 'contextual_help', 'my_admin_help' );

fonte

fonti: WP admin menus , WP dashboard widgets API

Altri sono arrivati qui cercando:
eliminare commenti wordpress, togliere commenti wordpress, eliminare i commenti da wordpress, personalizzare bacheca wordpress, wordpress togliere aiuto.

5 pensieri su “WordPress dashboard hacks”

  1. Un ringraziamento te lo devo proprio, quoto Lando, hai la proprieta di spiegare in modo facile ed essenziale anche io che non sono per niente esperto ho capito subito come applicare le modifiche, complimenti.

  2. Ciao
    Ho un problema.
    Ho fatto una stupidaggine quando in Impostazione schermo dentro TUTTI GLI ARTICOLI ho messo il valore 500.
    Da allora non riesco più a vedere i miei articoli perché mi esce un errore

    Fatal error: Unknown: Cannot use output buffering in output buffering display handlers in Unknown on line 0

    Sai dirmi come posso ripristinare il valore a 100 in modo da poter tornare a vedere i miei articoli?

    Grazie mille in anticipo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

You can add images to your comment by clicking here.