Sei sulla pagina 1di 12

Home » Web Design

Modi care e personalizzare


WordPress attraverso 20 Snippets
06/11/2019
Web Design, Wordpress 
Autore: Emilio Petrozzi

Gli snippets WordPress di solito vengono aggiunti nel le function.php del tema utilizzato. La loro
nalità principale è quella di modi care le funzionalità di base fornite da WordPress. Funzionalità di
base che lo rendono un CMS piuttosto semplice da utilizzare, ma spesso per gli utenti alle prime
armi, magari non non esperti di tecnologia, può rivelarsi troppo complesso da poter gestire.

In questo articolo vedremo apportare alcune modi che che di fatto sempli cano il sistema
mediante la disabilitazione o la rimozione di alcune aree del CMS non necessarie per l'utente non
amministratore. In tal modo lo possiamo rendere meno complesso e più amichevole per l'utente
nale.

Gli snippets di seguito ci permetteranno di controllare quasi tutti gli aspetti dell'area di
amministrazione di WordPress e di personalizzarli a bene cio del livello di usabilità. Esistono
ovviamente molti plugin che ottengono gli stessi risultati di questi snippets, ma modi cando il
codice si ottiene una gestione delle varie funzionalità più immediata e nella maggior parte dei casi
non sarà necessario aggiornarli periodicamente come invece accade per i plugin.

Tali modi che sarà possibile implementarle, oltre che attraverso i vari hook di WordPress, anche
attraverso la modi ca del le .htaccess e delle varie query che interessano il database MySQL.
Disabilitazione della possibilità per gli utenti di
disattivare i plugin WordPress
Questo snippet è particolarmente utile se abbiamo assegnato ad un'utente i privilegi di attivazione
/ disattivazione dei plugin, di fatto consentendogli di aggiungere nuovi plug-in. Ma se il sito che
abbiamo creato richiede alcuni plug-in di base per funzionare, tali plugin ovviamente non dovono
essere mai disattivati.

Il codice seguente rimuoverà i collegamenti "Disattiva" da qualsiasi plug-in che riteniamo


fondamentale, oltre a rimuovere i collegamenti "Modi ca" da tutti i plug-in.

Codice da inserire in functions.php:

1 add_filter( 'plugin_action_links', 'slt_lock_plugins', 10, 4 );


2 function slt_lock_plugins( $actions, $plugin_file, $plugin_data, $context ) {
3 Remove edit link for all
4 if ( array_key_exists( 'edit', $actions ) )
5 unset( $actions['edit'] );
6 Remove deactivate link for crucial plugins
7 if ( array_key_exists( 'deactivate', $actions ) in_array( $plugin_file, array(
8 'slt custom fields/slt custom fields.php',
9 'slt file select/slt file select.php',
10 'slt simple events/slt simple events.php',
11 'slt widgets/slt widgets.php'
12 )))
13 unset( $actions['deactivate'] );
14 return $actions;
15 }

Disabilitare la possibilità per gli utenti di cambiare il


tema WordPress
In modo analogo alla disabilitazione dei plug-in sopra descritti anche per i temi molto spesso è
necessario precludere la possibilità agli utenti di poter cambiare il tema attivo. Il codice seguente
rimuoverà l'opzione di menu "Aspetto" dalla Dashboard.

A tale scopo inseriremo il seguente snippet in functions.php:

1 add_action( 'admin_init', 'slt_lock_theme' );


2 function slt_lock_theme() {
3 global $submenu, $userdata;
4 get_currentuserinfo();
5 if ( $userdata ID 1 ) {
6 unset( $submenu['themes.php'][5] );
7 unset( $submenu['themes.php'][15] );
8 }
9 }
Disabilitazione voci nel menu del pannello di
amministrazione di WordPress
In base alle preferenze del cliente potrebbe essere necessario disabilitare / nascondere le opzioni
del menu WordPress. Con questo snippet potremo nascondere qualsiasi menu di livello superiore
(post, contenuti multimediali, link, strumenti...).

Codice per il le functions.php:

1 function remove_menus () {
2 global $menu;
3 $restricted = array( ('Dashboard'), ('Posts'), ('Media'), ('Links'), ('Pages
4 end ($menu);
5 while (prev($menu)){
6 $value = explode(' ',$menu[key($menu)][0]);
7 if(in_array($value[0] NULL?$value[0] "" , $restricted)){unset($menu[key($menu)
8 }
9 }
10 add_action('admin_menu', 'remove_menus');

Disabilitazione dei sottomenu del pannello di


amministrazione WordPress
Nel caso in cui l'utente necessita solo di alcuni sottomenu con il seguente snippet potremo
disabilitate / nascoste selettivamente le sezioni che non interessano.

Per ottenere ciò aggiungeremo il seguente codice in functions.php:

1 function remove_submenus() {
2 global $submenu;
3 unset($submenu['index.php'][10]); Removes 'Updates'.
4 unset($submenu['themes.php'][5]); Removes 'Themes'.
5 unset($submenu['options general.php'][15]); Removes 'Writing'.
6 unset($submenu['options general.php'][25]); Removes 'Discussion'.
7 }
8 add_action('admin_menu', 'remove_submenus');

L'ID menu si trova in wp-admin/menu.php.

Personalizzare le voci del menu Admin di WordPress in


base al nome utente
Per poter limitare l'accesso di un determinato utente a determinate voci del menu, e comunque
mantenere il menu con le voci che interessano, questo snippet può essere d'aiuto.
Sostituire "client-username" con il nome utente per il quale attivare le modi che e incollare questo
codice in functions.php:

1 function remove_menus()
2 {
3 global $menu;
4 global $current_user;
5 get_currentuserinfo();
6
7 if($current_user user_login 'clients username')
8 {
9 $restricted = array( ('Posts'),
10 ('Media'),
11 ('Links'),
12 ('Pages'),
13 ('Comments'),
14 ('Appearance'),
15 ('Plugins'),
16 ('Users'),
17 ('Tools'),
18 ('Settings')
19 );
20 end ($menu);
21 while (prev($menu)){
22 $value = explode(' ',$menu[key($menu)][0]);
23 if(in_array($value[0] NULL?$value[0] "" , $restricted)){unset($menu[key($m
24 } end while
25
26 } end if
27 }
28 add_action('admin_menu', 'remove_menus');

Rimuovere i meta-box di WordPress dalle schermate


dell'editor di post e pagine
La pubblicazione di post e pagine è molto probabilmente la chiave del business dei nostri utenti e
probabilmente il motivo principale per cui è stato scelto WordPress come piattaforma per la
creazione del sito web. Per evitare qualsiasi confusione all'interno delle schermate dell'editor di post
/ pagine, potrebbe essere utile rimuovere meta-box non utilizzate (campi personalizzati, commenti
recenti, tag post ...).

Incollalo nel tuo functions.phpe modi ca come richiesto:

1 function remove_extra_meta_boxes() {
2 remove_meta_box( 'postcustom' , 'post' , 'normal' ); custom fields for posts
3 remove_meta_box( 'postcustom' , 'page' , 'normal' ); custom fields for pages
4 remove_meta_box( 'postexcerpt' , 'post' , 'normal' ); post excerpts
5 remove_meta_box( 'postexcerpt' , 'page' , 'normal' ); page excerpts
6 remove_meta_box( 'commentsdiv' , 'post' , 'normal' ); recent comments for posts
7 remove_meta_box( 'commentsdiv' , 'page' , 'normal' ); recent comments for pages
8 remove_meta_box( 'tagsdiv post_tag' , 'post' , 'side' ); post tags
9 remove_meta_box( 'tagsdiv post_tag' , 'page' , 'side' ); page tags
10 remove_meta_box( 'trackbacksdiv' , 'post' , 'normal' ); post trackbacks
11 remove_meta_box( 'trackbacksdiv' , 'page' , 'normal' ); page trackbacks
12 remove_meta_box( 'commentstatusdiv' , 'post' , 'normal' ); allow comments for posts
13 remove_meta_box( 'commentstatusdiv' , 'page' , 'normal' ); allow comments for pages
14 remove_meta_box('slugdiv','post','normal'); post slug
15 remove_meta_box('slugdiv','page','normal'); page slug
16 remove_meta_box('pageparentdiv','page','side'); Page Parent
17 }
18 add_action( 'admin_menu' , 'remove_extra_meta_boxes' );

Rimuovi le colonne delle pagine di WordPress


L'aggiunta di questo codice consente di rimuovere qualsiasi colonna dalla sezione "Pagine" che
ritieni non necessaria per il tuo cliente.

Aggiungere il seguente snippet in functions.php:

1 function remove_pages_columns($defaults) {
2 unset($defaults['comments']);
3 return $defaults;
4 }
5 add_filter('manage_pages_columns', 'remove_pages_columns');

Rimuovi le colonne dei post di WordPress


Simile allo snippet sopra, questo codice rimuoverà le colonne dalla pagina dei post.

Inserie il seguente codice in functions.php:

1 function remove_post_columns($defaults) {
2 unset($defaults['comments']);
3 return $defaults;
4 }
5 add_filter('manage_posts_columns', 'remove_post_columns');

Rimozione dei widget prede niti dalla dashboard di


WordPress
La maggior parte dei widget prede niti presenti nella Dashboard spesso non risultano necessari per
gli utenti del sito e danno un'idea di eccessiva complessità. Questo snippet rimuove tutti i widget
pre-de niti della Dashboard.

Da inserire in functions.php:

1 function example_remove_dashboard_widgets() {
2
3 global $wp_meta_boxes;
4
5 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
6 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
7 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
8 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
9 }
10 add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );

Per l'elenco di tutti i widget si rimanda alla pagina dell'API dei widget della Dashboard sul Codex.

Creazione widget per la dashboard WordPress


personalizzati
Quando si creano temi per i clienti potrebbe essere utile e apprezzato creare un widget di
benvenuto personalizzato nella Dashboard. Questo snippet creerà un semplice widget "Hello
World" e può essere facilmente modi cato a seconda delle esigenze.

Codice da inserire in functions.php:

1 function example_dashboard_widget_function() {
2 echo "Hello World, I'm a great Dashboard Widget";
3 }
4
5 function example_add_dashboard_widgets() {
6 wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'exam
7 }
8
9 add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

Aggiungi, rimuovi e riordina i Widget della Dashboard


per ruolo
Per una Dashboard WordPress personalizzata in base ai ruoli utente, limitando la comparsa di
determinati widget ai soli utenti con i ruoli di "editori" ed "autori" ed eliminandoli dalla dashbord per
gli altri ruoli. Questo snippet eliminerà solo il widget "Collegamenti in entrata" per autori ed editori
ed eliminerà tutti gli altri widget nel caso si appartenga ad altri ruoli.

Da inserire in functions.php:

1 function tidy_dashboard()
2 {
3 global $wp_meta_boxes, $current_user;
4
5 if(in_array('author', $current_user roles) in_array('editor', $current_user roles)
6 {
7 unset($wp_meta_boxes['dashboard']['normal ']['core']['dashboard_incoming_links']);
8 }
9
10 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
11 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
12 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
13
14 }
15
16 add_action('wp_dashboard_setup', 'tidy_dashboard');

Ecco un elenco di come deselezionare ciascuno dei widget della Dashboard prede niti:

1 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
2 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
3 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
4 unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
5 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
6 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
7 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
8 unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);

Rimozione e spostamento del metabox autore ed


opzioni schermo
Questo codice rimuoverà la metabox Autore e le Opzioni Schermo, aggiungendo le le opzioni
schermo nel metabox di pubblicazione.

Da inserire in functions.php:

add_action( 'admin_menu', 'remove_author_metabox' );


add_action( 'post_submitbox_misc_actions', 'move_author_to_publish_metabox' );
function remove_author_metabox() {
remove_meta_box( 'authordiv', 'post', 'normal' );
}
function move_author_to_publish_metabox() {
global $post_ID;
$post = get_post( $post_ID );
echo '<div id="author" class="misc pub section" style="border top style:solid; border top
post_author_meta_box( $post );
echo ' div>';
}

Aggiungere e rimuovere collegamenti da barra


amministrazione WordPress
La barra di amministrazione di WordPress consente di accedere rapidamente a tutte le aree
principali del sito, come la sezione per la creazione di un nuovo post o pagina, la moderazione dei
commenti oppure la modi ca dei widget. I snippet di seguito consentiranno di aggiungere oppure
di rimuovere tali link.

Il seguente snippet aggiungerà collegamenti alla barra di amministrazione.

Da aggiungere al le functions.php del tema in uso:

1 function my_admin_bar_link() {
2 global $wp_admin_bar;
3 if ( !is_super_admin() !is_admin_bar_showing() )
4 return;
5 $wp_admin_bar add_menu( array(
6 'id' 'diww',
7 'parent' 'my blogs',
8 'title' ( 'Titolo del link da aggiungere'),
9 'href' admin_url( 'http: misitourl.com/wp admin.php' )
10 ) );
11 }
12 add_action('admin_bar_menu', 'my_admin_bar_link');

Questo snippet invece rimuoverà i collegamenti dalla barra di amministrazione.

Da aggiungere in functions.php:

1 function remove_admin_bar_links() {
2 global $wp_admin_bar;
3 $wp_admin_bar remove_menu('my blogs');
4 $wp_admin_bar remove_menu('my account with avatar');
5 }
6 add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

Come mostrare messaggio importante da parte


dell'amministratore WordPress
Questo snippet ci consentirà di mostrare un messaggio personalizzato sulla dashboard di tutto gli
utenti che hanno effettuato l'accesso. Particolarmente utile se è necessario informare un cliente /
utente di eventuali problemi riscontrati sulla piattaforma, quali ad esempio rallentamenti
inaspettati o interventi di manutenzione programmata.

Snippet da aggiungere al le functions.php del tema in uso:

1 function showMessage($message, $errormsg = false)


2 {
3 if ($errormsg) {
4 echo '<div id="message" class="error">';
5 }
6 else {
7 echo '<div id="message" class="updated fade">';
8 }
9
10 echo "<p><strong>$message strong> p> div>";
11 }

Di seguito aggiungeremo uno snippet con la funzione per le noti che dell'amministratore,
contenente un messaggio personalizzato:

1 function showAdminMessages()
2 {
3 showMessage("Aggiornare il database il prima possibile ", true);
4
5 if (user_can('manage_options') {
6 showMessage("Hello admins!");
7 }
8 }
9 add_action('admin_notices', 'showAdminMessages');

Nascondere l'avviso di aggiornamento di WordPress


Spesso capita che per alcuni iscritti con determinati ruoli è stata disabilitata la possibilità di poter
effettuare aggiornamenti sulla piattaforma. Per quei utenti, attraverso il seguente snippet, sarà
possibile rimuovere il messaggio di aggiornamento di WordPress.

Da inserire nel le functions.php del tema in uso:

1 add_action('admin_menu','wphidenag');
2 function wphidenag() {
3 remove_action( 'admin_notices', 'update_nag', 3 );
4 }

Modi ca URL di accesso del pannello di controllo


WordPress
L'URL prede nito per l'accesso ad un sito web basato su WordPress di corrisponde a
https://www.tuosito.it/wp-login.php. Attraverso il le .htaccess sarà possibile modi care il percorso
standard e renderlo più semlice da ricordare, ad esempio cambiandolo in
https://www.tuosito.it/login.

A tale scopo inseriremo nel le .htaccess il seguente codice:

1 RewriteRule ^login$ http: yoursite.com/wp login.php [NC,L]

Modi ca del testo del piè di pagina della dashboard


Quando si crea un sito per un cliente può essere utile poter personalizzare il testo del piè di pagina
della dashboard. Il seguente snippet ci consentirà di apportare tale modi ca.
Modi care "Inserisci il testo personalizzato" e aggiungerlo nel le functions.php del tema in uso:

1 function remove_footer_admin () {
2 echo "Testo personalizzato";
3 }
4
5 add_filter('admin_footer_text', 'remove_footer_admin');

Modi ca del logo del pannello di accesso WordPress


Quando si creano temi per i clienti una delle loro aspettative potrebbe essere quella di avere il
proprio logo nel pannello di accesso. Sostituire il logo standard di WorPress con un logo
personalizzato è un'operazione molto semplice.

Le dimensioni ottimali del nuovo logo dovranno essere di 326×82 pixel e tale logo andrà collocato
nella cartella "immagini" del tema in uso.

Sostituire il nome del le "nuovologo.png" con il nome del proprio logo e aggiungere il seguente
codice nel le functions.php del tema in uso:

1 function custom_login_logo() {
2 echo '<style type="text/css">h1 a { background: url('.get_bloginfo('template_director
3 }
4 add_action('login_head', 'custom_login_logo');

Sostituzione del logo standard della dashboard


WordPress
Il prossimo passo nella personalizzazione del backend di WordPress è la sostituzione del logo che
compare nella Dashboards. In questo caso sarà più opportuno creare un'immagine trasparente (.gif
o .png) di 30x31px. Una volta creata la salveremo nella cartella delle immagini del tema.

Sostituire "custom-logo.gif" con il nome del le appena creato e inserire il seguente snippet nel le
functions.php:

1 add_action('admin_head', 'my_custom_logo');
2
3 function my_custom_logo() {
4 echo '
5 <style type="text/css">
6 #header logo { background image: url('.get_bloginfo('template_directory').'/images/custom
7 style>
8 ';
9 }

Condividi l'articolo...
Autore articolo: Emilio Petrozzi

Creazione siti web dinamici e di commercio elettronico, assistenza WordPress, ottimizzazione per
motori di ricerca, campagne pubblicitarie web, sicurezza informatica. Esperienza ultra ventennale.

Articoli pubblicati da Emilio Petrozzi | Sito Web

Tags: snippets,wordpress

Lascia un commento
Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Commento

Nome *

Email *

Sito web

Do il mio consenso af nché un cookie salvi i miei dati (nome, email, sito web) per il prossimo
commento.

PUBBLICA IL COMMENTO

Aricoli correlati
Installazione e con gurazione Installazione di VestaCP e di Installazione di WordPress 5.3
di WordPress attraverso WP-CLI WordPress su server VPS attraverso stack LAMP Linux
Ubuntu

Co n t a t to S ky p e

Chi Sono
Emilio Petrozzi
Assistenza WordPress
Tel. Mobile 3205754844
Tel. Fisso 0776811856
Email info@mrtux.it

Social

Email di supporto
Privacy Policy
Cookies

© 2002-2019 MrTux.it 
Emilio Petrozzi  P. I.V.A. IT03080230604 - Professionista ai sensi della Legge 4/2013

Potrebbero piacerti anche