Apportare piccole modifiche al tuo sito WordPress può sembrare come sbloccare superpoteri nascosti. Con poche righe di codice nel file functions, puoi personalizzare il funzionamento del tuo sito, senza bisogno di plugin aggiuntivi.
Abbiamo passato anni a sperimentare con il file functions.php, ed è uno degli strumenti più utili nel kit di strumenti di un utente WordPress. Puoi aggiungere funzionalità personalizzate, rimuovere elementi non necessari e ottimizzare il comportamento del tuo sito con un po' di codice.
Ma prima di iniziare, c'è una regola importante: esegui sempre un backup del tuo sito. Modificare il file functions è come regolare il motore di un'auto; un piccolo errore può causare problemi. Se desideri un approccio più sicuro, ti consigliamo invece di utilizzare un plugin per frammenti di codice personalizzato.
In questa guida, condivideremo 25 trucchi utili che puoi utilizzare per personalizzare WordPress tramite il file functions. Iniziamo!

Cos'è il file Functions in WordPress?
Il file functions.php è come il cervello del tuo tema WordPress. Viene fornito con ogni tema WordPress gratuito e premium e consente agli sviluppatori di definire funzionalità personalizzate.
Pensalo come un mini-plugin integrato nel tuo tema. Puoi aggiungere frammenti di codice personalizzato per ottimizzare il funzionamento del tuo sito, dall'aggiunta di widget extra alla modifica delle pagine di accesso. È uno strumento potente, ma c'è un intoppo.
Modificare direttamente il file delle funzioni non è la soluzione migliore. Se aggiorni il tuo tema, perderai tutto il tuo codice personalizzato. E se commetti un errore, potrebbe compromettere il tuo sito, lasciandoti a doverlo sistemare in fretta.
Ecco perché raccomandiamo sempre di utilizzare WPCode, un plugin gratuito che rende l'aggiunta di snippet di codice facile e priva di rischi.
Perché preferiamo WPCode?
- Puoi salvare snippet personalizzati senza toccare i file del tema o del core.
- Posiziona automaticamente il tuo codice dove ti serve.
- Gli snippet vengono salvati separatamente, quindi puoi attivarli o disattivarli in qualsiasi momento.
- Ha un sistema di sicurezza integrato che disabilita qualsiasi snippet che causa errori.
Come bonus aggiuntivo, il plugin WPCode include un'enorme libreria di snippet preconfigurati. Puoi attivarli con un solo clic, senza bisogno di scrivere codice!

Per maggiori informazioni, consulta la nostra recensione dettagliata di WPCode.
Ora che conosci il modo migliore per gestire gli snippet di codice, immergiamoci in alcune funzioni utili che puoi utilizzare per personalizzare il tuo sito WordPress.
- Come aggiungere questi snippet di codice al tuo sito web
- Rimuovi il numero di versione di WordPress
- Aggiungere un logo personalizzato alla dashboard
- Modificare il piè di pagina nel pannello di amministrazione di WordPress
- Aggiungere widget personalizzati alla dashboard in WordPress
- Modificare il Gravatar predefinito in WordPress
- Data di copyright dinamica nel piè di pagina di WordPress
- Cambiare casualmente il colore di sfondo in WordPress
- Aggiorna gli URL di WordPress
- Aggiungere dimensioni aggiuntive per le immagini in WordPress
- Aggiungere nuovi menu di navigazione al tuo tema
- Aggiungere campi per il profilo dell'autore
- Aggiungere aree pronte per i widget o barre laterali nei temi WordPress
- Manipolare il piè di pagina del feed RSS
- Aggiungi immagini in evidenza ai feed RSS
- Nascondi gli errori di accesso in WordPress
- Disabilita accesso via email in WordPress
- Disabilita funzione di ricerca in WordPress
- Ritarda post nel feed RSS
- Cambia testo "Leggi di più" per estratti in WordPress
- Disabilita feed RSS in WordPress
- Modifica la lunghezza dell'estratto in WordPress
- Aggiungi un utente amministratore in WordPress
- Disabilita selettore lingua nella pagina di accesso
- Mostra il numero totale di utenti registrati in WordPress
- Escludi categorie specifiche dal feed RSS
- Disabilita link URL nei commenti di WordPress
- Aggiungi classi CSS dispari e pari ai post di WordPress
- Aggiungi tipi di file aggiuntivi da caricare in WordPress
- Cambia nome mittente nelle email di WordPress
- Aggiungi una casella informazioni autore nei post di WordPress
- Disabilita XML-RPC in WordPress
- Collega automaticamente le immagini in evidenza ai post
- Disabilita editor a blocchi in WordPress
- Disabilita widget a blocchi in WordPress
- Mostra la data dell'ultimo aggiornamento in WordPress
- Usa nomi file in minuscolo per i caricamenti
- Disabilita la barra di amministrazione di WordPress sul frontend
- Cambia testo "Ciao Amministratore" nell'area di amministrazione
- Disabilita modifica codice nell'editor a blocchi
- Disabilita editor file plugin / tema
- Disabilita email di notifica nuovi utenti
- Disabilita notifiche email di aggiornamento automatico
- Aggiungi un link per duplicare facilmente un post
- Rimuovi pannello di benvenuto dalla dashboard di amministrazione di WordPress
- Aggiungi una colonna immagine in evidenza per i post nell'amministrazione di WordPress
- Blocca area di amministrazione di WordPress per tutti tranne gli amministratori
Come aggiungere questi snippet di codice al tuo sito web
Prima di iniziare, diamo un'occhiata a come aggiungere gli snippet di codice in questo articolo al tuo file functions.php di WordPress.
1. Aggiungi codice personalizzato al file Functions usando WPCode (Consigliato)
Innanzitutto, devi installare e attivare il plugin WPCode. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.
Dopo l'attivazione, vai alla pagina Code Snippets » + Add Snippet. Vedrai la libreria di codici di WPCode con molti utili snippet di codice personalizzato già aggiunti.

Se il tuo snippet di codice fa la stessa cosa degli snippet nella libreria, allora puoi provare quello già aggiunto lì.
In alternativa, fai clic sul link 'blank snippet' per continuare ad aggiungere il tuo snippet di codice personalizzato.
Nella schermata successiva, fornisci un titolo per il tuo codice personalizzato. Potrebbe essere qualsiasi cosa che ti aiuti a identificare cosa fa questo snippet di codice.

Successivamente, devi scegliere il 'Code Type'. Se stai aggiungendo un codice che funziona nel file functions.php, allora devi selezionare 'PHP Snippet'.
Sotto, devi copiare e incollare il tuo codice personalizzato nella casella 'Code Preview'.
Infine, devi impostare il tuo snippet come 'Active' e fare clic sul pulsante 'Save Snippet'.

Il tuo snippet salvato verrà ora eseguito come se lo avessi aggiunto al file functions.php.
Puoi ripetere il processo per aggiungere altri snippet quando necessario. Puoi anche disattivare uno snippet senza eliminarlo.
2. Aggiungi codice personalizzato direttamente al file Functions
Il metodo WPCode è sempre migliore rispetto all'aggiunta di codice al file functions del tema.
Tuttavia, alcuni utenti potrebbero scrivere codice per il tema WordPress personalizzato di un cliente o semplicemente preferire aggiungere codice al file functions.php.
In tal caso, ecco come puoi aggiungere codice al file functions.php del tema WordPress.
Innanzitutto, connettiti al tuo sito WordPress utilizzando un client FTP. Una volta connesso, naviga nella cartella /wp-content/themes/il-tuo-tema-wordpress/.

Lì troverai il file functions.php. Fai semplicemente clic destro e seleziona di modificare o scarica il file sul tuo computer per modificarlo.
Puoi modificarlo usando qualsiasi editor di testo semplice come Blocco note o TextEdit.
Quindi, scorri fino in fondo al file functions.php e incolla il tuo snippet di codice lì. Puoi salvare le modifiche e caricare il file functions.php aggiornato nella tua cartella del tema.
Ora puoi visitare il tuo sito web WordPress per vedere il tuo codice personalizzato in azione.
Ora, diamo un'occhiata a 46 diversi trucchi utili per il file functions di WordPress.
1. Rimuovere il numero di versione di WordPress
Dovresti usare sempre l'ultima versione di WordPress. Tuttavia, potresti voler rimuovere il numero di versione di WordPress dal tuo sito.
Aggiungi semplicemente questo snippet di codice al tuo file functions o come nuovo snippet WPCode:
function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');
Per istruzioni dettagliate, consulta la nostra guida su il modo giusto per rimuovere il numero di versione di WordPress.
2. Aggiungere un logo personalizzato alla dashboard
Vuoi fare il white-label della tua area di amministrazione di WordPress? Il primo passo è aggiungere un logo personalizzato alla dashboard.
Innanzitutto, dovrai caricare il tuo logo personalizzato nella cartella delle immagini del tuo tema come custom-logo.png. Il tuo logo personalizzato dovrebbe essere in un rapporto 1:1 (un'immagine quadrata) di 16x16 pixel.
Dopodiché, puoi aggiungere questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');
Per maggiori dettagli, consulta la nostra guida su come aggiungere un logo personalizzato alla dashboard in WordPress.
3. Modifica il piè di pagina nell'area di amministrazione di WordPress
Il piè di pagina nell'area di amministrazione di WordPress mostra il messaggio 'Grazie per aver creato con WordPress.' Puoi cambiarlo in qualsiasi cosa desideri aggiungendo questo codice:
function remove_footer_admin () {
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}
add_filter('admin_footer_text', 'remove_footer_admin');
Sentiti libero di cambiare il testo e i link che desideri aggiungere. Ecco come appare sul nostro sito di prova.

4. Aggiungi widget personalizzati alla dashboard in WordPress
Probabilmente hai visto i widget che molti plugin e temi aggiungono alla dashboard di WordPress. Puoi aggiungerne uno tu stesso incollando il seguente codice:
add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}
Ecco come apparirebbe:

Per maggiori dettagli, consulta il nostro tutorial su come aggiungere widget personalizzati alla dashboard in WordPress.
5. Modifica il Gravatar predefinito in WordPress
Hai visto l'avatar predefinito dell'uomo misterioso sui blog? Puoi facilmente sostituirlo con il tuo avatar personalizzato.
Carica semplicemente l'immagine che desideri utilizzare come avatar predefinito e aggiungi questo codice al tuo file functions o al plugin WPCode:
function wpb_custom_default_gravatar( $avatar_defaults ) {
$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
$avatar_defaults[$myavatar] = 'Default Gravatar';
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );
Ora puoi andare alla pagina Impostazioni » Discussione e selezionare il tuo avatar predefinito.

Per istruzioni dettagliate, consulta la nostra guida su come modificare il Gravatar predefinito in WordPress.
6. Data di copyright dinamica nel piè di pagina di WordPress
Puoi semplicemente aggiungere una data di copyright modificando il modello del piè di pagina nel tuo tema. Tuttavia, non mostrerà quando il tuo sito è iniziato e non cambierà automaticamente l'anno successivo.
Questo codice può aggiungere una data di copyright dinamica nel piè di pagina di WordPress:
function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
Dopo aver aggiunto questa funzione, dovrai aprire il tuo file footer.php e aggiungere il seguente codice dove desideri visualizzare la data di copyright dinamica:
<?php echo wpb_copyright(); ?>
Questa funzione cerca la data del tuo primo post e la data del tuo ultimo post. Restituisce quindi gli anni ovunque tu chiami la funzione.
Suggerimento: Se stai utilizzando il plugin WPCode, puoi combinare i due snippet di codice. Successivamente, scegli la posizione 'Piè di pagina del sito' nella sezione 'Inserimento' delle impostazioni dello snippet. Questo visualizzerà automaticamente la data del copyright nel piè di pagina senza modificare il file footer.php del tuo tema.

Per maggiori dettagli, consulta la nostra guida su come aggiungere date di copyright dinamiche in WordPress.
7. Cambia casualmente il colore di sfondo in WordPress
Vuoi cambiare casualmente il colore di sfondo del tuo blog WordPress ad ogni visita e ricaricamento della pagina? Ecco come farlo facilmente.
Innanzitutto, aggiungi questo codice al file functions del tuo tema o al plugin WPCode:
function wpb_bg() {
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}
Successivamente, dovrai modificare il file header.php nel tuo tema. Trova il tag <body> e sostituiscilo con questa riga:
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">
Ora puoi salvare le modifiche e visitare il tuo sito web per vedere questo codice in azione.

Per maggiori dettagli e metodi alternativi, consulta il nostro tutorial su come cambiare casualmente il colore di sfondo in WordPress.
8. Aggiorna gli URL di WordPress
Se la tua pagina di accesso di WordPress continua a ricaricarsi o non riesci ad accedere all'area amministrativa, devi aggiornare gli URL di WordPress.
Un modo per farlo è utilizzare il file wp-config.php. Tuttavia, se lo fai, non potrai impostare l'indirizzo corretto nella pagina delle impostazioni. I campi WordPress URL e Site URL saranno bloccati e non modificabili.
Invece, aggiungi semplicemente questo codice al tuo file functions per risolvere il problema:
update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );
Non dimenticare di sostituire example.com con il tuo nome di dominio.
Una volta effettuato l'accesso, puoi andare alla pagina Impostazioni nell'area di amministrazione di WordPress e impostare gli URL.
Dopodiché, dovresti rimuovere il codice che hai aggiunto al file functions o a WPCode. Altrimenti, continuerà ad aggiornare quegli URL ogni volta che il tuo sito viene visitato.
9. Aggiungere dimensioni aggiuntive per le immagini in WordPress
WordPress genera automaticamente diverse dimensioni di immagini quando ne carichi una. Puoi anche creare dimensioni aggiuntive per le immagini da utilizzare nel tuo tema.
Aggiungi semplicemente questo codice al file functions del tuo tema o come snippet WPCode:
add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode
Questo codice crea tre nuove dimensioni per le immagini di diverse dimensioni. Sentiti libero di modificare il codice per soddisfare le tue esigenze.
Puoi quindi visualizzare una dimensione dell'immagine ovunque nel tuo tema usando questo codice:
<?php the_post_thumbnail( 'homepage-thumb' ); ?>
Per istruzioni dettagliate, consulta la nostra guida su come creare dimensioni aggiuntive per le immagini in WordPress.
10. Aggiungere nuovi menu di navigazione al tuo tema
WordPress consente agli sviluppatori di temi di definire menu di navigazione e poi visualizzarli.
Puoi aggiungere questo codice al file functions del tuo tema o come nuovo snippet WPCode per definire una nuova posizione del menu nel tuo tema:
function wpb_custom_new_menu() {
register_nav_menu('my-custom-menu',__( 'My Custom Menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );
Ora puoi andare su Aspetto » Menu nella tua bacheca di WordPress e vedere 'Il mio menu personalizzato' come opzione di posizione del tema.

Nota: Questo codice funzionerà anche con temi a blocchi con la funzionalità di editing completo del sito. Aggiungerlo abiliterà la schermata Menu sotto Aspetto.
Ora devi aggiungere questo codice al tuo tema dove vuoi visualizzare il menu di navigazione:
<?php
wp_nav_menu( array(
'theme_location' => 'my-custom-menu',
'container_class' => 'custom-menu-class' ) );
?>
Per istruzioni dettagliate, consulta la nostra guida su come aggiungere menu di navigazione personalizzati nei temi WordPress.
11. Aggiungi campi al profilo autore
Vuoi aggiungere campi extra ai profili dei tuoi autori in WordPress? Puoi farlo facilmente aggiungendo questo codice al tuo file functions o come nuovo snippet WPCode:
function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);
Questo codice aggiungerà i campi Twitter e Facebook ai profili utente in WordPress.

Ora puoi visualizzare questi campi nel tuo template autore in questo modo:
<?php echo get_the_author_meta('twitter') ?>
Potresti anche voler consultare la nostra guida su come aggiungere campi aggiuntivi al profilo utente nella registrazione di WordPress.
12. Aggiungere aree pronte per i widget o barre laterali nei temi di WordPress
Questo è uno degli snippet di codice più utilizzati, e molti sviluppatori sanno già come aggiungere aree pronte per i widget o barre laterali ai temi di WordPress. Ma merita di essere in questa lista per coloro che non lo sanno.
Puoi incollare il seguente codice nel tuo file functions.php o come nuovo snippet WPCode:
// Register Sidebars
function custom_sidebars() {
$args = array(
'id' => 'custom_sidebar',
'name' => __( 'Custom Widget Area', 'text_domain' ),
'description' => __( 'A custom widget area', 'text_domain' ),
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
);
register_sidebar( $args );
}
add_action( 'widgets_init', 'custom_sidebars' );
Nota: Questo codice funzionerà anche con i temi a blocchi con la funzionalità di modifica completa del sito. Aggiungerlo abiliterà la schermata Widget sotto Aspetto.
Ora puoi visitare la pagina Aspetto » Widget e vedere la tua nuova area widget personalizzata.

Per visualizzare questa barra laterale o area pronta per i widget sul tuo sito web, dovrai aggiungere il seguente codice nel template dove vuoi visualizzarla:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>
Per maggiori dettagli, consulta la nostra guida su come aggiungere aree e barre laterali dinamiche pronte per i widget in WordPress.
13. Manipola il piè di pagina del feed RSS
Hai visto blog che aggiungono le loro pubblicità nei loro feed RSS sotto ogni post? Puoi realizzarlo facilmente con una semplice funzione. Incolla semplicemente il seguente codice:
function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');
Per maggiori informazioni, consulta la nostra guida su come aggiungere contenuti e manipolare completamente i tuoi feed RSS.
14. Aggiungere immagini in evidenza ai feed RSS
L'immagine in miniatura del post o le immagini in evidenza vengono solitamente visualizzate solo all'interno del design del tuo sito. Puoi estendere facilmente questa funzionalità al tuo feed RSS con il seguente codice:
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
Per maggiori dettagli, consulta la nostra guida su come aggiungere miniature dei post ai tuoi feed RSS di WordPress.
15. Nascondere gli errori di accesso in WordPress
Gli hacker possono utilizzare gli errori di accesso per indovinare se hanno inserito il nome utente o la password errati. Nascondendo gli errori di accesso in WordPress, puoi rendere la tua area di accesso e il tuo sito web WordPress più sicuro.
Aggiungi semplicemente il seguente codice al file functions del tuo tema o come nuovo snippet WPCode:
function no_wordpress_errors(){
return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
Ora, gli utenti vedranno un messaggio generico quando inseriscono un nome utente o una password errati.

Per maggiori informazioni, consulta il nostro tutorial su come disabilitare i suggerimenti di accesso nei messaggi di errore di accesso di WordPress.
16. Disabilitare l'accesso tramite email in WordPress
WordPress consente agli utenti di accedere con il proprio nome utente o indirizzo email. Puoi facilmente disabilitare l'accesso tramite email in WordPress aggiungendo questo codice al tuo file functions o come nuovo snippet WPCode:
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
Per maggiori informazioni, consulta la nostra guida su come disabilitare la funzionalità di accesso tramite email in WordPress.
17. Disabilitare la funzionalità di ricerca in WordPress
Se desideri disabilitare la funzione di ricerca del tuo sito WordPress, aggiungi semplicemente questo codice al tuo file functions o in un nuovo snippet WPCode:
function wpb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}}
Questo codice disabilita semplicemente la query di ricerca modificandola e restituendo un errore 404 invece dei risultati di ricerca.
Per maggiori informazioni, consulta il nostro tutorial su come disabilitare la funzione di ricerca di WordPress.
Suggerimento Pro: Invece di rinunciare alla ricerca di WordPress, ti consigliamo di provare SearchWP. È il miglior plugin di ricerca per WordPress sul mercato che ti consente di aggiungere una funzione di ricerca potente e personalizzabile al tuo sito web.
18. Ritarda la pubblicazione dei post nel feed RSS
A volte, potresti pubblicare un articolo con un errore grammaticale o di battitura.
L'errore va online e viene distribuito agli abbonati del tuo feed RSS. Se hai abbonamenti via email sul tuo blog WordPress, anche tali abbonati riceveranno una notifica.
Aggiungi semplicemente questo codice al file functions del tuo tema o come nuovo snippet WPCode per ritardare la pubblicazione dei post nel tuo feed RSS:
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');
// value for wait; + device
$wait = '10'; // integer
// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
In questo codice, abbiamo utilizzato 10 minuti come tempo di attesa o ritardo ($wait). Sentiti libero di cambiarlo con qualsiasi numero di minuti desideri.
Per un metodo tramite plugin e maggiori informazioni, consulta la nostra guida dettagliata su come ritardare la pubblicazione dei post nel feed RSS di WordPress.
19. Modifica il testo "Continua a leggere" per gli estratti in WordPress
Vuoi cambiare il testo che appare dopo l'estratto nei tuoi post? Aggiungi semplicemente questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function modify_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
20. Disabilita i feed RSS in WordPress
Non tutti i siti web necessitano di feed RSS. Se desideri disabilitare i feed RSS sul tuo sito WordPress, aggiungi questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function new_excerpt_more($more) {
global $post;
return '<a class="moretag"
href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
Per ulteriori informazioni su un metodo tramite plugin, consulta la nostra guida su come disabilitare i feed RSS in WordPress.
21. Modifica la lunghezza dell'estratto in WordPress
WordPress limita la lunghezza degli estratti a 55 parole. Puoi aggiungere questo codice al tuo file functions o come nuovo snippet WPCode se hai bisogno di modificarlo:
function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');
Cambia semplicemente 100 con il numero di parole che desideri mostrare negli estratti.
Per metodi alternativi, potresti voler consultare la nostra guida su come personalizzare gli estratti di WordPress (senza codice).
22. Aggiungere un utente amministratore in WordPress
Se hai dimenticato la password e l'email di WordPress, puoi aggiungere un utente amministratore aggiungendo questo codice al file functions del tuo tema utilizzando un client FTP:
function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');
Non dimenticare di compilare i campi nome utente, password ed email.
Importante: Una volta effettuato l'accesso al tuo sito WordPress, non dimenticare di eliminare il codice dal file functions.
Per saperne di più su questo argomento, dai un'occhiata al nostro tutorial su come aggiungere un utente amministratore in WordPress tramite FTP.
23. Disabilitare il selettore della lingua nella pagina di accesso
Se gestisci un sito web multilingue, WordPress visualizza un selettore di lingua nella pagina di accesso. Puoi disabilitarlo facilmente aggiungendo il seguente codice al tuo file functions.php o come nuovo snippet WPCode:
add_filter( 'login_display_language_dropdown', '__return_false' );
24. Mostrare il numero totale di utenti registrati in WordPress
Vuoi mostrare il numero totale di utenti registrati sul tuo sito WordPress? Aggiungi semplicemente questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');
Questo codice crea uno shortcode che ti consente di visualizzare il numero totale di utenti registrati sul tuo sito.
Ora, devi solo aggiungere lo shortcode [user_count] al tuo post o alla tua pagina dove vuoi mostrare il numero totale di utenti.
Per maggiori informazioni e un metodo tramite plugin, consulta il nostro tutorial su come visualizzare il numero totale di utenti registrati in WordPress.
25. Escludi Categorie Specifiche dal Feed RSS
Vuoi escludere categorie specifiche dal tuo feed RSS di WordPress? Puoi aggiungere questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set('cat', '-5, -2, -3');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
26. Disabilita Link URL nei Commenti di WordPress
Per impostazione predefinita, WordPress converte un URL in un link cliccabile nei commenti.
Puoi interrompere questo comportamento aggiungendo il seguente codice al tuo file functions o come nuovo snippet WPCode:
remove_filter( 'comment_text', 'make_clickable', 9 );
Per i dettagli, consulta il nostro articolo su come disabilitare l'autolinking nei commenti di WordPress.
27. Aggiungi Classi CSS Dispari e Pari ai Post di WordPress
Potresti aver visto temi WordPress utilizzare una classe dispari o pari per i commenti di WordPress. Aiuta gli utenti a visualizzare dove finisce un commento e inizia il successivo.
Puoi usare la stessa tecnica per i tuoi post di WordPress. Ha un aspetto esteticamente gradevole e aiuta gli utenti a scansionare rapidamente pagine con molti contenuti.
Aggiungi semplicemente questo codice al file functions del tuo tema:
function oddeven_post_class ( $classes ) {
global $current_class;
$classes[] = $current_class;
$current_class = ($current_class == 'odd') ? 'even' : 'odd';
return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';
Questo codice aggiunge semplicemente una classe dispari o pari ai post di WordPress. Ora puoi aggiungere CSS personalizzato per stilizzarli in modo diverso.
Ecco un esempio di codice per aiutarti a iniziare:
.even {
background:#f0f8ff;
}
.odd {
background:#f4f4fb;
}
Il risultato finale sarà simile a questo:

Hai bisogno di istruzioni più dettagliate? Dai un'occhiata al nostro tutorial su come aggiungere classi dispari/pari ai tuoi post nei temi WordPress.
28. Aggiungi tipi di file aggiuntivi da caricare in WordPress
Per impostazione predefinita, WordPress ti consente di caricare un numero limitato dei tipi di file più comunemente utilizzati. Tuttavia, puoi estenderlo per consentire altri tipi di file.
Aggiungi semplicemente questo codice al file functions del tuo tema:
function my_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
$mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
Questo codice ti permette di caricare file SVG e PSD su WordPress.
Dovrai trovare i tipi MIME per i tipi di file che desideri consentire e poi utilizzarli nel codice.
Per saperne di più su questo argomento, consulta il nostro tutorial su come aggiungere tipi di file aggiuntivi da caricare in WordPress.
29. Cambia il nome del mittente nelle email di WordPress
WordPress utilizza un indirizzo email inesistente (wordpress@tuodominio.com) per inviare le email in uscita per impostazione predefinita.
Questo indirizzo email potrebbe essere contrassegnato come spam dai fornitori di servizi email.
Utilizzare il plugin WP Mail SMTP è il modo corretto per risolvere questo problema.

Risolve i problemi di recapitalità delle email e ti consente di scegliere un indirizzo email effettivo per inviare le tue email di WordPress.
Per saperne di più, consulta la nostra guida su come risolvere il problema di WordPress che non invia email.
D'altra parte, se vuoi cambiarlo rapidamente con un indirizzo email reale, puoi aggiungere il seguente codice nel tuo file functions o come nuovo snippet WPCode:
// Function to change email address
function wpb_sender_email( $original_email_address ) {
return 'tim.smith@example.com';
}
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
return 'Tim Smith';
}
// Hooking up our functions to WordPress filters
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );
Non dimenticare di sostituire l'indirizzo email e il nome con le tue informazioni.
Il problema con questo metodo è che WordPress sta ancora utilizzando la funzione mail() per inviare email, e tali email finiranno molto probabilmente nello spam.
Per alternative migliori, consulta il nostro tutorial su come cambiare il nome del mittente nelle email in uscita di WordPress.
30. Aggiungi una casella di informazioni sull'autore nei post di WordPress
Se gestisci un sito multi-autore e vuoi mostrare le biografie degli autori alla fine dei tuoi post, puoi provare questo metodo.
Inizia aggiungendo questo codice al tuo file functions o come nuovo snippet WPCode:
function wpb_author_info_box( $content ) {
global $post;
// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {
// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );
// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );
// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);
// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
// Get User Gravatar
$user_gravatar = get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );
if ( ! empty( $display_name ) )
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description.
$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';
// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {
// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';
} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}
// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );
// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');
Successivamente, dovrai aggiungere del CSS personalizzato per migliorarne l'aspetto.
Puoi usare questo CSS di esempio come punto di partenza:
.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
.author_name{
font-size:16px;
font-weight: bold;
}
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}
Ecco come apparirà la tua casella autore:

Per un metodo tramite plugin e istruzioni più dettagliate, consulta il nostro articolo su come aggiungere una casella informazioni autore nei post di WordPress.
31. Disabilita XML-RPC in WordPress
XML-RPC è un metodo che consente alle app di terze parti di comunicare con il tuo sito WordPress da remoto. Ciò potrebbe causare problemi di sicurezza e può essere sfruttato dagli hacker.
Per disattivare XML-RPC in WordPress, aggiungi il seguente codice al tuo file functions o come nuovo snippet WPCode:
add_filter('xmlrpc_enabled', '__return_false');
Potresti voler leggere il nostro articolo su come disabilitare XML-RPC in WordPress per maggiori informazioni.
32. Collega automaticamente le immagini in evidenza ai post
Se il tuo tema WordPress non collega automaticamente le immagini in evidenza agli articoli completi, puoi provare questo metodo.
Aggiungi semplicemente questo codice al file functions del tuo tema o come nuovo snippet WPCode:
function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {
If (! is_singular()) {
$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;
} else {
return $html;
}
}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );
Potresti voler leggere il nostro articolo su come collegare automaticamente le immagini in evidenza ai post in WordPress.
33. Disabilita l'Editor a Blocchi in WordPress
WordPress utilizza un editor moderno e intuitivo per scrivere contenuti e modificare il tuo sito web. Questo editor utilizza blocchi per elementi di contenuto e layout di uso comune, motivo per cui è chiamato Editor a Blocchi.
Tuttavia, potresti dover utilizzare il vecchio Editor Classico in alcuni casi d'uso.
Il modo più semplice per disabilitare l'editor a blocchi è utilizzare il plugin Classic Editor. Tuttavia, se non vuoi utilizzare un plugin separato, aggiungi semplicemente il seguente codice al tuo file functions o come nuovo snippet WPCode:
add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);
Per maggiori dettagli, consulta il nostro tutorial su come disabilitare l'Editor a Blocchi e utilizzare l'Editor Classico.
34. Disabilita i Widget a Blocchi in WordPress
WordPress è passato dai widget classici ai widget a blocchi in WordPress 5.8. I nuovi widget a blocchi sono più facili da usare e offrono un maggiore controllo sul design rispetto ai widget classici.
Tuttavia, alcuni utenti potrebbero voler ancora utilizzare i widget classici. In tal caso, puoi utilizzare il seguente codice nel file functions del tuo tema o come nuovo snippet WPCode:
add_filter( 'use_widgets_block_editor', '__return_false' );
Per maggiori dettagli, consulta il nostro articolo su come disabilitare i blocchi widget (ripristinare i widget classici).
35. Visualizza la Data dell'Ultimo Aggiornamento in WordPress
Quando i visitatori visualizzano un post o una pagina sul tuo blog WordPress, il tuo tema WordPress mostrerà la data di pubblicazione del post. Questo va bene per la maggior parte dei blog e dei siti web statici.
Tuttavia, WordPress viene utilizzato anche da siti web in cui i vecchi articoli vengono regolarmente aggiornati. In queste pubblicazioni, visualizzare la data e l'ora dell'ultima modifica del post è essenziale.

Puoi mostrare la data dell'ultimo aggiornamento utilizzando il seguente codice nel file functions del tuo tema o come nuovo snippet WPCode:
$u_time = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {
$updated_date = get_the_modified_time( 'F jS, Y' );
$updated_time = get_the_modified_time( 'h:i a' );
$updated = '<p class="last-updated">';
$updated .= sprintf(
// Translators: Placeholders get replaced with the date and time when the post was modified.
esc_html__( 'Last updated on %1$s at %2$s' ),
$updated_date,
$updated_time
);
$updated .= '</p>';
echo wp_kses_post( $updated );
}
Per metodi alternativi e maggiori dettagli, consulta la nostra guida su come visualizzare la data dell'ultimo aggiornamento in WordPress.
36. Usa nomi file in minuscolo per i caricamenti
Se gestisci un sito web con più autori, gli autori potrebbero caricare immagini con nomi file in maiuscolo e minuscolo.
L'aggiunta del seguente codice garantisce che tutti i nomi file siano in minuscolo:
add_filter( 'sanitize_file_name', 'mb_strtolower' );
Nota: Il codice non modificherà i nomi file per i caricamenti esistenti. Per metodi alternativi, consulta il nostro tutorial su come rinominare immagini e file multimediali in WordPress.
37. Disabilita la barra di amministrazione di WordPress sul frontend
Per impostazione predefinita, WordPress visualizza la barra di amministrazione in alto quando un utente connesso visualizza il tuo sito web.
Puoi disabilitare la barra di amministrazione per tutti gli utenti tranne gli amministratori del sito. Aggiungi semplicemente il seguente codice al tuo file functions o come nuovo snippet WPCode:
/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );
Per maggiori dettagli, consulta la nostra guida su come disabilitare la barra di amministrazione di WordPress per tutti gli utenti tranne gli amministratori.
38. Cambia il testo 'Howdy Admin' nell'area di amministrazione
WordPress visualizza un saluto 'Howdy Admin' nella dashboard di WordPress. 'Admin' viene sostituito dal nome dell'utente connesso.

Puoi cambiare il saluto predefinito con il tuo aggiungendo il seguente codice nel tuo file functions o come nuovo snippet WPCode:
function wpcode_snippet_replace_howdy( $wp_admin_bar ) {
// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
$new_howdy = 'Welcome,';
$my_account = $wp_admin_bar->get_node( 'my-account' );
$wp_admin_bar->add_node(
array(
'id' => 'my-account',
'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
)
);
}
add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );
Per maggiori dettagli, consulta il nostro articolo su come cambiare il messaggio 'Howdy Admin' in WordPress.
39. Disabilita l'editor di codice nell'editor a blocchi
L'editor a blocchi ti consente di passare all'editor di codice. Questo è utile se hai bisogno di aggiungere manualmente del codice HTML.
Tuttavia, potresti voler limitare questa funzionalità agli amministratori del sito.
Puoi aggiungere il seguente codice al tuo file functions.php o come snippet WPCode per ottenere questo risultato:
add_filter( 'block_editor_settings_all', function ( $settings ) {
$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );
return $settings;
} );
40. Disabilita l'editor di file di plugin / temi
WordPress include un editor integrato dove puoi modificare i file dei plugin. Puoi vederlo andando alla pagina Plugin » Editor file plugin.

Allo stesso modo, WordPress include anche un editor di file per i temi classici in Aspetto » Editor file tema.
Nota: Se utilizzi un tema a blocchi, l'editor dei file del tema non è visibile.

Non consigliamo di utilizzare questi editor per apportare modifiche al tuo tema o plugin. Un piccolo errore nel codice può rendere il tuo sito web inaccessibile a tutti gli utenti.
Per disabilitare l'editor di plugin/tema, aggiungi il seguente codice al tuo file functions o come snippet WPCode:
// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
define( 'DISALLOW_FILE_EDIT', true );
}
Per maggiori dettagli, consulta il nostro tutorial su come disabilitare l'editor di plugin/tema in WordPress.
41. Disabilita le email di notifica per i nuovi utenti
Per impostazione predefinita, WordPress invia una notifica via email quando un nuovo utente si iscrive al tuo sito web WordPress.
Se gestisci un sito web di membership WordPress o richiedi la registrazione degli utenti, riceverai una notifica ogni volta che un utente si iscrive al tuo sito.
Per disattivare queste notifiche, puoi aggiungere quanto segue al tuo file functions o come nuovo snippet WPCode:
function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
if ( empty( $notify ) || 'admin' === $notify ) {
return;
} elseif ( 'both' === $notify ) {
// Send new users the email but not the admin.
$notify = 'user';
}
wp_send_new_user_notifications( $user_id, $notify );
}
add_action(
'init',
function () {
// Disable default email notifications.
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
// Replace with custom function that only sends to user.
add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
}
);
Per maggiori dettagli, consulta il nostro tutorial su come disabilitare le notifiche email per i nuovi utenti in WordPress.
42. Disabilita le notifiche email di aggiornamento automatico
Occasionalmente, WordPress potrebbe installare automaticamente aggiornamenti di sicurezza e manutenzione o aggiornare un plugin con una vulnerabilità critica.
Invia una notifica email di aggiornamento automatico dopo ogni aggiornamento. Se gestisci più siti web WordPress, potresti ricevere diverse email di questo tipo.
Puoi aggiungere questo codice al tuo file functions o come nuovo snippet WPCode per disattivare queste notifiche via email:
/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );
// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );
// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );
Per saperne di più, consulta il nostro articolo su come disabilitare le email automatiche di aggiornamento in WordPress.
43. Aggiungi un link per duplicare facilmente un post
Hai mai desiderato un modo più semplice per copiare rapidamente tutti i contenuti di un post per modificarli senza toccare il post pubblicato?
Il seguente snippet di codice aggiungerà un'opzione per duplicare facilmente un post con tutti i suoi contenuti:
// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
/**
* @param array $actions The actions added as links to the admin.
* @param WP_Post $post The post object.
*
* @return array
*/
function wpcode_snippet_duplicate_post_link( $actions, $post ) {
// Don't add action if the current user can't create posts of this post type.
$post_type_object = get_post_type_object( $post->post_type );
if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
return $actions;
}
$url = wp_nonce_url(
add_query_arg(
array(
'action' => 'wpcode_snippet_duplicate_post',
'post_id' => $post->ID,
),
'admin.php'
),
'wpcode_duplicate_post_' . $post->ID,
'wpcode_duplicate_nonce'
);
$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';
return $actions;
}
}
/**
* Handle the custom action when clicking the button we added above.
*/
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {
if ( empty( $_GET['post_id'] ) ) {
wp_die( 'No post id set for the duplicate action.' );
}
$post_id = absint( $_GET['post_id'] );
// Check the nonce specific to the post we are duplicating.
if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
// Display a message if the nonce is invalid, may it expired.
wp_die( 'The link you followed has expired, please try again.' );
}
// Load the post we want to duplicate.
$post = get_post( $post_id );
// Create a new post data array from the post loaded.
if ( $post ) {
$current_user = wp_get_current_user();
$new_post = array(
'comment_status' => $post->comment_status,
'menu_order' => $post->menu_order,
'ping_status' => $post->ping_status,
'post_author' => $current_user->ID,
'post_content' => $post->post_content,
'post_excerpt' => $post->post_excerpt,
'post_name' => $post->post_name,
'post_parent' => $post->post_parent,
'post_password' => $post->post_password,
'post_status' => 'draft',
'post_title' => $post->post_title . ' (copy)',// Add "(copy)" to the title.
'post_type' => $post->post_type,
'to_ping' => $post->to_ping,
);
// Create the new post
$duplicate_id = wp_insert_post( $new_post );
// Copy the taxonomy terms.
$taxonomies = get_object_taxonomies( get_post_type( $post ) );
if ( $taxonomies ) {
foreach ( $taxonomies as $taxonomy ) {
$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
}
}
// Copy all the custom fields.
$post_meta = get_post_meta( $post_id );
if ( $post_meta ) {
foreach ( $post_meta as $meta_key => $meta_values ) {
if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
continue;
}
foreach ( $meta_values as $meta_value ) {
add_post_meta( $duplicate_id, $meta_key, $meta_value );
}
}
}
// Redirect to edit the new post.
wp_safe_redirect(
add_query_arg(
array(
'action' => 'edit',
'post' => $duplicate_id
),
admin_url( 'post.php' )
)
);
exit;
} else {
wp_die( 'Error loading post for duplication, please try again.' );
}
} );
Dopo aver aggiunto il codice, vai alla schermata Post » Tutti i post e passa il mouse sopra il titolo di un post.
Noterai un nuovo link 'Duplica' sotto le opzioni.

Cliccando sul link verrà creata una copia del post con tutti i suoi contenuti. Potrai quindi lavorare su quella bozza.
Una volta terminato, puoi copiare e incollare le tue modifiche nel post pubblicato originale ed eliminare la copia.
Per un metodo tramite plugin, consulta il nostro articolo su come duplicare un post o una pagina di WordPress.
44. Rimuovi il pannello di benvenuto dalla bacheca di amministrazione di WordPress
Il pannello di benvenuto appare nella bacheca di amministrazione di WordPress. Può essere facilmente chiuso o nascosto cliccando sul pulsante 'Opzioni schermo'.

Tuttavia, se stai lavorando per creare un'esperienza di bacheca più pulita per gli utenti, potresti volerla nascondere permanentemente.
Aggiungi il seguente codice per disabilitarla per tutti gli utenti del tuo sito:
add_action(
'admin_init',
function () {
remove_action( 'welcome_panel', 'wp_welcome_panel' );
}
);
45. Aggiungi una colonna per le immagini in evidenza per i post nell'amministrazione di WordPress
Per impostazione predefinita, WordPress mostra le immagini in evidenza solo quando visualizzi il tuo sito o quando modifichi un post o una pagina.
Il seguente codice aggiungerà una nuova colonna alla schermata Post » Tutti i post per le immagini in evidenza:
add_filter( 'manage_posts_columns', function ( $columns ) {
// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
$move_after = 'title';
$move_after_key = array_search( $move_after, array_keys( $columns ), true );
$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
$last_columns = array_slice( $columns, $move_after_key + 1 );
return array_merge(
$first_columns,
array(
'featured_image' => __( 'Featured Image' ),
),
$last_columns
);
} );
add_action( 'manage_posts_custom_column', function ( $column ) {
if ( 'featured_image' === $column ) {
the_post_thumbnail( array( 300, 80 ) );
}
} );
Ecco come apparirebbe dopo aver aggiunto il codice.

46. Blocca l'area di amministrazione di WordPress per tutti tranne gli amministratori
Alcuni siti web WordPress potrebbero richiedere agli utenti di registrare un account. Ad esempio, un sito di appartenenza WordPress o un negozio di e-commerce.
La maggior parte di questi plugin impedirà a tali utenti di accedere all'area di amministrazione. Tuttavia, se non stai utilizzando un plugin del genere, puoi aggiungere il seguente codice per bloccare tutti gli utenti tranne gli amministratori dall'accesso all'area di amministrazione:
add_action( 'admin_init', function() {
if ( ! current_user_can( 'administrator' ) ) {
wp_redirect( home_url() );
exit;
}
} );
Gli utenti con altri ruoli utente possono ancora accedere ai propri account, ma dopo l'accesso verranno reindirizzati alla homepage.
Speriamo che questo articolo ti abbia aiutato ad apprendere alcuni nuovi trucchi utili per il file functions.php in WordPress. Potresti anche voler consultare la nostra guida su come visualizzare facilmente il codice sul tuo sito WordPress per condividere facilmente i tuoi snippet e le nostre scelte esperte per i migliori editor di codice per Mac e Windows.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

DANESE
such a great and useful tricks..
Marco
grazie mille!
Webtechideas
Una bella lista di trucchi utili. Aiuterà sia gli sviluppatori di plugin che di temi.
ahmed
Al punto #14, non è un invece di ?
Mick O
Grazie per l'utile articolo. Lo apprezzo molto. Puoi spiegare perché lo snippet per aggiungere il codice di Google Analytics (#1) include le dichiarazioni php. Se ho un file functions.php esistente che è già definito con , devo includere di nuovo i marcatori nello snippet? Sto cercando di aggiungere altre personalizzazioni nel functions.php e diventa difficile tenere traccia.
Staff editoriale
Include l'apertura di php perché è la chiusura del tag PHP per consentirti di incollare codice HTML semplice di Google Analytics.
Amministratore
Luke Gibson
Quello sulla data del copyright sembra un po' eccessivo quando potresti semplicemente copiare e incollare © 2006- e farebbe esattamente lo stesso lavoro, basta sostituire 2006 con la data di inizio statica desiderata. O mi sfugge qualcosa?
Staff editoriale
Sì, puoi assolutamente farlo. Ma se lo stai rilasciando come parte di un tema destinato alla distribuzione, allora non puoi farlo.
Amministratore
Zeeshan Arshad
Eccellente, avevo finito con il mio tema e l'apprendimento, ma c'era ancora molto da fare. Questo post mi ha salvato la giornata e ovviamente ho imparato molte cose.
Auguri!
DesignSkew
In "Aggiungi campi profilo autore", la funzione che hai menzionato per l'eco non funziona.
Staff editoriale
Il curauth funzionerebbe solo se fosse nel file author.php.
Amministratore
Mark
Ottimo set di strumenti. Ho immediatamente copiato la funzione autore ospite appena l'ho vista e ora disabiliterò un plugin goffo che stavo usando. Hai una funzione che fornirà l'ID del post dell'elemento su cui si sta lavorando nell'editor? Sto cercando di precompilare un modulo con allegati multimediali per il post corrente, ma sono riuscito a farlo funzionare solo in una meta-box personalizzata, ma non in una thickbox. La thickbox restituisce tutti i file multimediali per tutti i post quando voglio solo gli allegati dei post correnti.
mommyblogger
Grazie per gli ottimi consigli su Wordpress! Speravo potessi aiutarmi con un'ulteriore domanda?
Vorrei impedire che i miei tag/categorie si estendano su un'altra riga limitando il numero di tag/categorie che appaiono nel footer dei miei singoli post della homepage. È possibile farlo con "the_excerpt"? Vorrei anche che l'estratto fosse un link "...leggi tutto" e limitare il numero di caratteri in esso. Ecco il codice a cui dovrebbe essere aggiunto;
$tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Taggato</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>
Grazie!
SteveEBoy
Come hanno detto tutti gli altri qui sotto - semplicemente troppo bello, un enorme aiuto per un principiante e molto utile anche per imparare. Ottimo sito nel complesso. Grazie.
LambrosPower
uno dei migliori tutorial che abbia mai letto. Molti argomenti importanti evidenziati e di sicuro non conoscevo la maggior parte di essi dato che ho appena iniziato il design personalizzato di WordPress.
Xiaozhuli
Questo articolo è infinitamente utile. L'ho salvato nei preferiti e lo consulto spesso quando aggiorno il mio tema o cerco di rispondere a una domanda. Ottimo lavoro!
Mohammad Yeasin
Ragazzi siete semplicemente fantastici. Sapete, wpbegineer è il primo sito web per cui ho una cartella separata nel mio menu dei preferiti. Troppo bello per un principiante di wp. Il vostro nome si addice alla vostra personalità. lolz. Un giorno dovrò assolutamente fare qualcosa di speciale per voi. Inshallah.
L'unico problema che riscontro sono i post correlati con miniature. I vostri programmatori non funzionano. Non so cosa fare. Comunque, continuate con questo lavoro meraviglioso. Adoro il sito wpbegineer.
AA
Ottimo post! Ovviamente ne sapete molto sul codice di WordPress, quindi spero che possiate rispondere a una domanda. Come si rimuove il timestamp della data e dell'ora da un feed RSS di WordPress? Ho cercato ovunque e non riesco a trovare alcuna informazione a riguardo. Sto lavorando su un "sito" WordPress e non ho bisogno delle date. Le ho già rimosse dai post e dalle pagine.
Molte grazie in anticipo!
Staff editoriale
La data NON è opzionale per i feed RSS. È OBBLIGATORIA perché è così che i post / articoli sono organizzati (ordine cronologico inverso). È possibile rimuovere la visualizzazione delle date dal template, ma non è possibile rimuoverle dall'XML.
Amministratore
Michele Welch
Awesome post! Can’t wait to get started on the custom dashboard gravatar! Really exceptional post.
Phil
Ottimo articolo, l'ho salvato nei preferiti per riferimento futuro. Ho trovato wpbeginner per caso, che grande risorsa, grazie!
wparena
è davvero bello che abbiate raccolto tutte le cose importanti in un unico posto
Mark Welburn
Ottima roba, l'ho già salvato nei preferiti. Vedo che alcuni di questi torneranno utili più di una volta. Saluti, Mark.
Connor Crosby
Solo una nota, fai attenzione quando copi e incolli la funzione "fine estratto". Ha mostrato un punto interrogativo invece di "..." poiché era un carattere. Ho dovuto riscrivere "..." affinché apparisse.
Martin
Probabilmente il miglior post sull'uso di functions.php. Grazie per i trucchi e per averci fatto risparmiare tempo.
Huw Rowlands
Wow! Cose davvero utili!
Grazie per aver condiviso.
mark.
Suggerirei di aggiungere un'appendice al Suggerimento n. 3 menzionando il fatto che questo non è in alcun modo una misura di sicurezza e non è assolutamente un'alternativa all'aggiornamento come dovrebbero fare le persone.
Nascondere il numero di versione è utile solo a coloro che amano tenere fuori dalla HEAD del tuo documento HTML la spazzatura non necessaria. Al di fuori di ciò, non ha alcuno scopo e non deve essere confuso con la sicurezza; per illustrare questo punto: http://dd32.id.au/2010/07/31/what-version-of-wordpress-is-behind-that-website/
aiutando
Potresti dirmi se devo aggiungere questi codici per ogni tema che il mio multisito ha? C'è un altro modo in cui questi codici si applicano automaticamente ai temi appena aggiunti?
Grazie!
Staff editoriale
Dovresti aggiungerli al file functions.php del tuo tema. Quindi, se si tratta di un tema disponibile su tutte le reti, solo una volta. Se ci sono temi personalizzati utilizzati su ogni sito della rete, allora dovresti farlo su ciascuno...
Amministratore
Connor Crosby
Ottima lista. Non sapevo si potesse fare così tanto con il file functions.php!
Andy
Siete fantastici!!! Grazie per l'ottimo post.
Cordiali saluti,
Andy
Jennifer R
grazie per questi trucchi utili
Marcelo Torres
Wow very good! Thanks for sharing
tarpontech
Il miglior articolo su Wordpress che abbia mai trovato.
ddeja
Grazie per questi suggerimenti. Alcuni sono nuovi per me. Quindi probabilmente proverò a usarli:)
Grazie ancora.
Chuck Reynolds
Dal rilascio finale di WP3 è necessario aggiornare #11 a
add_theme_support( ‘menus’ );
Staff editoriale
Fixed thanks
Amministratore
William
Grazie per l'utile post. Registrare i widget della sidebar e personalizzare la modalità di estrazione sarà utile. Saluti
Kate Mag
Grazie per aver condiviso trucchi estremamente utili. Non conoscevo alcuni trucchi prima, ora li conosco!
Adam
Ok, la data dinamica del copyright nel footer è uno dei trucchi più belli per Wordpress che abbia mai trovato. Odio sempre doverlo fare ogni anno, ma non più. Grazie per aver condiviso questo!
Susan
Ciao, sto cercando di cambiare il gravatar predefinito. L'opzione per scegliere il mio nuovo gravatar viene visualizzata, tuttavia invece della mia foto per il mio gravatar viene visualizzato un link immagine interrotto. So che il percorso funziona perché quando lo inserisco nel browser l'immagine appare. Ho anche provato .gif, .png, .jpg e sono tutti interrotti. Inoltre, è dimensionato secondo il mio tema a 48px X 48px. Puoi aiutarmi?
Susan
Finalmente ci sono riuscito!! Grazie per l'ottimo post, comunque.
Dave Z
Ci sono alcuni buoni suggerimenti qui. L'implementazione potrebbe essere migliorata per alcuni di essi.
Ad esempio, in #8 – Copyright dinamico, sarebbe probabilmente meglio chiamare la funzione durante le azioni publish_page e publish_post. Quindi, invece di stampare l'anno sullo schermo, il valore (intervallo di anni) potrebbe essere memorizzato nella tabella delle opzioni (con update_option()). Nel tema, faresti qualcosa del tipo: echo get_option( ‘comicpress_copyright’, date( ‘Y’ ) );. Questo darebbe l'anno corrente come data predefinita, o il tuo intervallo preimpostato. Il vantaggio qui è che elimini la necessità costante di interrogare il database per gli anni durante ogni caricamento della pagina (poiché get_option può essere configurato per caricarsi automaticamente con il resto delle opzioni). WordPress può già essere pesante sulle query del database, non c'è bisogno di aggiungerne un'altra se può essere evitata!
#18 – Rimuovi errori di accesso sta rimuovendo -tutti- gli errori di accesso, il che potrebbe essere negativo perché omette anche avvisi su cookie disabilitati, ecc. Un approccio più efficace sarebbe quello di far restituire alla funzione:
str_replace( array( ‘Nome utente non valido’, ‘Password errata’ ), ‘Nome utente o password non valido’, $str );
Questo mantiene l'utente informato di potenziali errori, offuscando al contempo in quale campo si è verificato l'errore. Una cosa da tenere a mente è che se il nome utente è corretto, WordPress lo popolerà automaticamente in tentativi di accesso successivi. Un hacker a conoscenza del funzionamento di WordPress saprebbe quindi che il nome utente era effettivamente valido. Puoi evitarlo commentando la sezione appropriata nel file wp-login.php (righe 529-530 nella versione 2.9.2) - non è l'ideale, lo so, ma non ci sono hook in quel punto del codice.
Bei suggerimenti. Mi piace la dimostrazione delle miniature dei post.
Staff editoriale
Thank you for your tips
Really appreciate it.
Amministratore
Abdullah
Bel post.. informazioni molto utili.
Grazie wpbeginner per averci reso più professionali nel nostro campo.
Saluti
Mohummad Abdullah
Zhu
Grazie per i suggerimenti, ne ho già implementati alcuni (come il Gravatar personalizzato) e funzionano benissimo!
Waheed Akhtar
Ottima lista. Salvata nei preferiti per futuri riferimenti
Sahus Pilwal
Grazie per i suggerimenti estremamente utili. Vorrei poter trovare altri articoli con trucchi/hack estremamente utili per WordPress!
Saluti, Sahus
patrick andrew adams
non vedo l'ora di provare alcuni di questi, sono ancora abbastanza nuovo a wp.
graphicbeacon
piccolo problema con il N. 14. Il titolo del widget inizia con un tag h2 e finisce con un h3 - Non validerebbe bene, secondo me.
Todd Santoro
ecco uno per cambiare il logo di accesso:
function the_custom_login_logo() {
echo ‘
h1 a { background-image:url(‘.get_bloginfo(‘template_directory’).’/images/custom-login-logo.gif) !important; }
‘;
}
add_action(‘login_head’, ‘the_custom_login_logo’);
Todd Santoro
Assicurati di cambiare gli apici singoli in questo codice con apici singoli effettivi poiché WP li rimuove nei commenti in modo che il codice PHP non venga eseguito. Meglio ancora, ridigitalo e non avrai problemi.
Saluti!
Kenton Bell
Sono davvero impressionato da questo elenco, opzioni migliori rispetto a modificare i file del tema che si perdono negli aggiornamenti. Grazie.
Raoni
Ciao,
solo un aggiornamento, all'elemento 4. Aggiungi un logo personalizzato per la dashboard, in WordPress 3 il "custom-logo.gif" ora è un'immagine .png.
Ottima raccolta!!!!
Andris
È stato un post molto utile. Ho appena implementato "4. Aggiungi un logo personalizzato per la dashboard" sul mio sito web.
Todd Santoro
Ottimo post. Ora ho questo nella mia cassetta degli attrezzi WP. Ha tutto ciò di cui un tema designer avrebbe bisogno in un unico articolo. Grazie WPBeginner!
Jake Goldman
Great tips. Got a kick out of seeing a few of mine in there.
lots of new tips coming soon in my next article!
Staff editoriale
Will keep my eyes open
Amministratore
Tony
Finalmente! So come risolvere il conteggio errato dei commenti! Grazie, WPBeginner!
DaveK
Brillante, metterò parecchie di queste a buon uso.
Congratulazioni per il sito ragazzi, andate sempre meglio, di solito trovo qualcosa di utile qui.
Continua così.